0

请帮忙..

我有一个动态表格,其中没有。元素的数量不固定,我需要在表单上执行 JS 验证。我有一个 PHP 函数,它将返回一个包含当前以表单显示的所有元素的数组。我想在 JS 代码中使用它..

我正在尝试一些 lyk dis::

function checkValidation() {

  <?php echo  
    // php function call
    $arrColumnsInfo = $this->fetch_fields_info();
    print('<pre>');
    print_r($arrColumnsInfo);
    print('</pre>');
  ?>
}

不适合我..抛出JS错误..或者这个..

function checkValidation() {
  <?php=
    // php function call 
    $arrColumnsInfo = $this->fetch_fields_info();?>
    alert(<?=$arrColumnsInfo?>);
}

再次..不起作用..

我的 PHP 数组输出:

Array
(
[client_code] => Client Code::1::Basic company Info::desc::TB
[entity_name] => Entity Name::1::Basic company Info::::TB
[type_of_entity] => Type of entity::1::Basic company Info::Type of entity,Sole trader,Partnership,Australian Private Company, other::DD
[fixed_fees] => fixed fees::8::Fees Related::yes,no::RD
[billing_time] => Billing time::8::Fees Related::Weekly,Fortnightly,Monthly,Yearly::DD
)

这里使用的关键是表单元素的名称.. 例如。我正在构建我的表单 lyk dis..

<input type="text" name="client_code" value="">... 

依此类推......所有表单元素都是以同样的方式动态创建的。现在我想验证这个表单,所以我再次需要这个数组在 javascript 中。

4

3 回答 3

1

您可以使用json_encode将您的 PHP 数组转换为 JavaScript 可以使用的 from。

function checkValidation() {
  var data = <?php echo json_encode($this->fetch_fields_info()) ?>;
  // ... run your client-side checks
  alert(data);
}

请记住,您始终必须提供有效的 JavaScript 代码。如果您坚持使用内联 PHP 编写 JavaScript 代码,这有时会非常棘手。

您至少应该考虑在服务器端(在 PHP 中)进行验证,并且只将结果传递给您的客户端。

于 2012-08-25T05:28:57.597 回答
0

您的 php 代码必须生成如下结果:

var arr = <?php echo $arr; // result: [1,2,3,4,5,6,7] ?>

或 JavaScript 中支持的其他array()格式..

这只是一个例子。

看看给出的链接:Javascript中的数组 这个链接告诉你使用数组需要什么格式。

于 2012-08-25T05:17:25.870 回答
-2

数据不足以帮助您@disha。请提供更多并编辑它。在你的第一行php中这个'='是什么?提供一些可以真正帮助您的更多细节。快乐编码!

于 2012-08-25T05:19:20.953 回答