簡體   English   中英

PHP函數調用和數組在Javascript代碼中傳遞

[英]PHP function call and array passing in Javascript code

請幫助

我有一個動態的形式,其中沒有。 的元素是不固定的,我需要在表單上執行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這個數組。

您可以使用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中)進行驗證,並且僅將結果傳遞給客戶端。

您的php代碼必須生成如下結果:

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

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

這只是一個例子。

看一下Give鏈接: Javascript中的Array這個鏈接告訴您使用Array需要哪種格式。

數據不足以幫助您@disha。 請提供一些更多的編輯這樣。 在您的PHP第一行中,這也是什么'='? 提供更多細節,有人可以真正為您提供幫助。 編碼愉快!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM