您好我已经在PHP中创建了一个数组。我需要将该数组转换为javascript函数。这就是我尝试过的。
$GetTheValidationRule=mysqli_query($con,"SELECT * FROM Questions WHERE Form_ID='$FormID' AND QuestionsDataHave='YES' ORDER BY Questions_ID+0, Questions_ID");
$ValidatinArray=array();
$J=0;
while($RowVal=mysqli_fetch_array($GetTheValidationRule)){
$ValidatinArray[$J]= $RowVal['Validation_Type'];
$J++;
}
这是我的javascript代码。
$(document).ready(function() {
$("form").submit(function(){
var P= <?php echo json_encode($ValidatinArray); ?>;
var O=P.length;
alert(O);
return false;
});
});
但这给我一个像这样的错误
SyntaxError: syntax error
var P= <br />
不可能以这种方式获得阵列。请有人帮助我。
更新:这是我的错误消息的最终输出
<script>
$(document).ready(function() {
$("form").submit(function(){
alert('AAAAAAAAAAAAAAAAAAA');
var IDsOfTheColumns=document.getElementsByName("DataColumnID[]");
var Data=document.getElementsByName("DataInputValue[]");
var A=IDsOfTheColumns.length;
alert(A);
<br />
<b>Notice</b>: Undefined variable: ValidatinArray in <b>C:\xampp\htdocs\PHIS\CreateTheForm.php</b> on line <b>16</b><br />
var P = null; return false;
});
});
</script>
答案 0 :(得分:0)
问题是,文件中没有变量$ValidatinArray
,它会输出javascript代码。也许这个手册页可以帮助您:
答案 1 :(得分:0)
您的代码来自您提交的表单。在编码之前检查表单数据是什么,以验证输出。你可以使用console.log($(“form));
同样使用表单也不是一个好主意,因为如果你有多个表单而表单是全局名称。对于表单,您应该为其提供一个独特的表单名称,如“myForm”,以便您可以定位该特定表单。
希望这有帮助
答案 2 :(得分:0)
对于迟到的回复感到抱歉...尝试重写您的文档。已完成:
$(document).ready(function() {
$("form").submit(function(){
var P = JSON.parse('<?php echo json_encode($ValidatinArray); ?>');
var O = P.length;
alert(O);
return false;
});
});
答案 3 :(得分:0)
试试这个:
<?php
echo ' <script>
$(document).ready(function() {
$("form").submit(function(){
var P= '. json_encode($ValidatinArray) . ';
var O=P.length;
alert(O);
return false;
});
});
</script>';
?>
你所做的只是使用php回显js。
答案 4 :(得分:-1)
在php json_encode中这样的数组:
$inlinejs='';
$inlinejs.='var validatinArray=\''.addslashes(json_encode($ValidatinArray)).'\';'."\n";
$inlinejs.='var validatinArray=eval(\'(\' + validatinArray + \')\');'."\n";
并在javascript中:
$(document).ready(function() {
$("form").submit(function(){
<?php echo $inlinejs; ?>
console.log(validatinArray);
});
});