我正在显示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'];
}
我想检索单击了删除按钮的隐藏字段的值。我不知道如何解决这个问题。感谢。
答案 0 :(得分:1)
使用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;
}
答案 1 :(得分:0)
尝试 -
$("#papers").on("click","input[name='paperDelete']",function(){
alert($(this).siblings("input[name='paperCode']").val())
})
答案 2 :(得分:0)
对于具有相同名称的多个字段。尝试这样的事情..
<?php
if(isset($_POST['btn']))
{
$name = $_POST['nam'];
//var_dump($name);
echo $name[0];
echo "<br>";
echo $name[1];
echo "<br>";
echo $name[2];
}
?>
<form method='post'>
FirstName:<input type='text' name='nam[]'>
MiddleName:<input type='text' name='nam[]'>
LastName:<input type='text' name='nam[]'>
<input type="submit" value="POST" name="btn">
</form>