我使用 AJAX 来获取选择输入中所选元素的值,并启动返回一些输入复选框字段的 PHP 脚本。
它是这样的:
HTML
<form method="post" action="liens_chra.php" name="Form" id="Form">
<label for="id_turbo">Turbo</label>
<select name="id_turbo" size="1" id="id_turbo">
<option value="10970">TM1761178</option>
<!-- and more -->
</select>
<div id="choix_reffab">
<!-- checkboxes appear here -->
</div>
<p class="form ">
<input type="submit" name="valider" value="Enregistrer">
</p>
<!-- something I tried too
<input type="button" id="submitevent" value="Enregister">
<script type="text/javascript" >
$('#submitevent').click(function() {
$("#Form").submit();
});
</script> -->
</form>
JQuery/AJAX
$("#id_turbo").change(function(){
var id_turbo = $("#id_turbo").val();
$.ajax({type: "POST",
url: "<?=URLSITEWEB;?>admin/outils/ajax/liste_Reffab.php",
data: "id_turbo="+id_turbo+"",
error: function(){
/*alert(id_famille+" \n ne passent pas.");*/
},
success: function(data){
$("#choix_reffab").html(data);
}
});
});
PHP
/* things */
foreach ($fabTab as $fab) {
$chaine .= '<input type="checkbox" "name=tabreffab[]" id="'.$fab.'" value="'.$fab.'" /><label for="'.$fab.'">'.$fab.'</label>';
}
echo $chaine;
因此,当用户选择一个值时,会出现一些复选框。 我的问题是我想要的数据没有传输到 $_POST,结果如下:
var_dump($_POST['tabreffab']) // is NULL, others values are ok
我对 AJAX 和 JQuery 相当陌生,所以我不知道该怎么做。我尝试使用 JQuery 提交表单,没有进行任何更改。
最佳答案
当您返回复选框时,我遇到了问题,您的错误在于元素的名称属性。
在代码中 "name=tabreffab[]"
替换为 name = "tabreffab[]"
$chaine.= ''.$fab.'';
上面的代码写起来像下面的代码
$chaine .= '<input type="checkbox" name = "tabreffab[]" id="'.$fab.'" value="'.$fab.'" /><label for="'.$fab.'">'.$fab.'</label>';
关于javascript - AJAX 和 php 脚本后添加的表单元素未传输到 $_POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37024582/