Second image , First image我有一组链接,它们将打开一个弹出表单。
单击链接时,我想向表单发送一个参数,然后在表单提交时使用它。
我可以将要传递的值设置为 <a>
的 id标签。我可以发送到更远的地方吗?
<div> <span>Chapter $i:</span>
<a href='$viewlink '>View</a><span class='status'>Status:$status </span>
<a href=$reqlink id=$i data-rel='popup' class='ui-btn ui-btn-inline ui-corner-all ui-icon-check ui-btn-icon-left'>Request Access</a></div><br/>";
<form method="post" action=" " id="myPopup" data-role="popup" style="padding:10px">
<h3>Enter your details</h3>
<input type="text" name="name" id="name" placeholder="Name" required>
<input type="email" name="email" id="email" placeholder="Email" required>
<input type="date" name="date" id="date" placeholder="Intended completion date" required>
<input type="submit" data-inline="true" value="Submit" name='submit'>
</form>
可以用 JavaScript 实现吗?怎么做?
最佳答案
选项#1:
设置隐藏输入,并在单击链接时将值发送给它们。然后,您可以在发送表单的另一端获取这些信息。
(注意:在我的代码示例中,我明确使用 PHP,因为您似乎已经复制了从中截取的代码)
echo "<a href='$viewlink' onclick='$(\'#viewlink\').val(1);'>View</a><span class='status'>Status:$status </span>
<!-- Do the following inside the form -->
<input type='hidden' name='viewlink' id='viewlink' value='0' />";
在 PHP 接收端你可以这样做:
if ($_POST['viewlink'] == 1) {
// do stuff
}
选项#2:
或者,您可以将数据发送到 JavaScript 数组,防止在提交表单时发布,将数组作为查询字符串添加到表单操作,然后显式发送表单。
echo "<a href='$viewlink' onclick='linkClicked('viewlink');'>View</a><span class='status'>Status:$status </span>
这就是您在 javascript 文件中要做的事情:
var queryString = [];
function linkClicked (type) {
queryString[type] = 1;
}
$("#myPopup").submit(function(event) {
event.preventDefault();
$(this).attr('action', $(location).attr('host') + $.param(queryString));
$(this).submit();
});
在 PHP 接收端,您可以执行以下操作(注意上面的 $_POST
已更改为 $_GET
):
if ($_GET['viewlink'] == 1) {
// do stuff
}
关于Javascript id 作为 href 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35670779/