第二张图片,第一张图片我有一组链接,会打开一个弹出表单。
单击链接时,我想向表单发送一个参数,然后在表单提交时使用它。
我可以设置要作为<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
}
试试这个。
<a id = 'yourid' class = 'mybtn'>click me..</a>
<form id = 'myform'>
....
</form>
Jquery
$(document).ready(function(){
$('.mybtn').click(function(){
var id = $(this).attr('id');
var SubmitForm = $("#myform").serializeArray();
$.post("somepage.php",
{
SubmitForm:SubmitForm,
ID:id
},
function(res){
alert(res);//your result..
});
});