我正在显示 XML 文件中的一些信息,每个信息旁边都有允许用户删除数据的按钮。
现在我使用隐藏的输入字段来存储处理表单所需的一些信息。所有隐藏的输入字段都具有相同的名称值。当用户单击删除按钮时,我想检索单击的隐藏字段的值,但它返回最后一个。
这是我的代码:
function displayPapers(){
var courseCode = $("#subject").val();
loadXML(courseCode, function(xmlDoc){
$(xmlDoc).find('paper').each(function(){
var code = $(this).find("code")[0].textContent;
var title = $(this).find("title")[0].textContent;
var semester = $(this).find("semester")[0].textContent;
$("#papers").append("<p>" + code + ": " + title + " (S" + semester + ") " +
"<input type='submit' name='paperUpdate' value='Edit'>" +
"<input type='submit' name='paperDelete' value='Delete'>" +
"<input type='hidden' name='paperCode' value='" + code + "'></p>");
})
});
}
以下是用于处理表单的 PHP 代码:
if(isset($_POST['paperUpdate'])){
echo $_POST['paperCode'];
}
我想检索单击删除按钮的隐藏字段的值。我不知道如何解决这个问题。谢谢。
最佳答案
使用 jQuery DOM 遍历函数查找相关元素。
$('input[name=paperDelete]').click(function() {
var paperCode = $(this).next().val();
// Do something with paperCode
});
为了能够获取 PHP 中的所有值,您应该给它一个以 []
结尾的名称。然后 PHP 会将所有值转换为数组。因此,将您的代码更改为:
$("#papers").append("<p>" + code + ": " + title + " (S" + semester + ") " +
"<input type='submit' name='paperUpdate' value='Edit'>" +
"<input type='submit' name='paperDelete' value='Delete'>" +
"<input type='hidden' name='paperCode[]' value='" + code + "'></p>");
})
});
那么你的 PHP 可以做到:
foreach ($_POST['paperCode'] as $code) {
echo $code;
}
关于javascript - 如何检索具有相同名称的多个输入的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25884616/