注意:未定义的索引:"使用Ajax和PHP
Error: "Notice: Undefined index:" with Ajax and PHP
这是我的javascript代码:
$( ".modifica_sore" ).click(function(){
var button = this;
$.ajax({
type: "POST",
url: "action/modifica_professori.php",
data: {
nome: $(button).siblings('[name="nome"]').attr("value"),
cognome: $(button).siblings('[name="cognome"]').attr("value"),
id: $(button).siblings('[name="id"]').attr("value"),
modifica_sore: $(button).siblings('[name="modifica_sore"]').attr("value"),
},
dataType: "html",
success: function(msg)
{
alert("Aggiunto con successo");
$("#risultato").html(msg);
},
error: function()
{
alert("Chiamata fallita, si prega di riprovare..."); callback in caso di fallimento
}
});
});
这是我的表单:
echo"<form method='POST'>";
echo"<fieldset>";
echo"<table>";
echo"<tr>";
echo"<td>Nome</td>";
echo"<td><input class='nome' name='nome' value='$nome'/></td>";
echo"</tr>";
echo"<tr>";
echo"<td>Cognome</td>";
echo"<td><input class='cognome' name='cognome' value='$cognome'/></td>";
echo"</tr>";
echo"<tr>";
echo"<td></td>";
echo"<td><input type='hidden' class='id' name='id' value='$id'/></td>";
echo"</tr>";
echo"<tr>";
echo "<td> <input type='button' name='modifica_sore' class='modifica_sore' value='Modifica' /> </td>";
echo "<td> <input type='button' name='modifica_sore' class='modifica_sore' value='Elimina' /> </td>";
echo"</tr>";
echo"</table>";
echo"</fieldset>";
echo"</form>";
如果我不使用Ajax,它的工作,但与Ajax我有这个错误:
Notice: Undefined index: nome in C:'xampp'htdocs'xampp'action'modifica_professori.php on line 8
Notice: Undefined index: cognome in C:'xampp'htdocs'xampp'action'modifica_professori.php on line 9
Notice: Undefined index: id in C:'xampp'htdocs'xampp'action'modifica_professori.php on line 10
Notice: Undefined index: modifica_sore in C:'xampp'htdocs'xampp'action'modifica_professori.php on line 13
Notice: Undefined index: modifica_sore in C:'xampp'htdocs'xampp'action'modifica_professori.php on line 26
在modifica_professor .php中我使用$_POST var:
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$id = $_POST['id'];
$_POST['modifica_sore']
但如果没有Ajax,问题是在javascript…:/谢谢你的帮助…
这是因为.modifica_sore
按钮没有具有"nome"
或"cognome"
名称的<input>
元素作为其兄弟姐妹。要获取"nome"
的值,您应该使用如下命令:
$(button).closest("table").find('[name="nome"]').val();
没有.modifica_sore
的兄弟(),所以表单元素的值不能正确提交。
我建议添加一个id
属性的形式,然后使用选择器,如:
nome: $('#formid input[name="nome"]').attr('value')
cognome: $('#formid input[name="cognome"]').attr('value')
...
在您的ajax数据对象。
编辑:既然你提到你不能修改表单,也许你可以尝试改变选择器像这样:
var form = $(button).parents('form');
...
data: {
nome: form.find('input[name="nome"]').attr('value'),
cognome: form.find('input[name="cognome"]').attr('value'),
...
},
...
相关文章:
- 使用$.ajax发布多个复选框
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- 使用ajax的服务器端分页&jQuery
- 使用ajax用jquery调用php函数
- 使用AJAX调用将GeoJSON数据拉入传单
- 使用ajax下载与存储名称不同名称的文件
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 使用AJAX在剑道网格中分组时出现Javascript错误
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- JS-使用Ajax获取文件名
- 使用AJAX和PHP检查表单字段
- 在chrome扩展中使用AJAX获取目录中的文件数
- 使用Ajax提交表单
- 在更改名称时,使用ajax jsp在下拉菜单中填充多个文件夹的数据
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- 使用Ajax的问题's发送多个值的Post方法
- 当使用ajax并将html数据保存为对象时,收听浏览器返回按钮.好的或坏的
- 使用formData使用ajax将图像插入数据库