[英]Input value from different form
我的頁面上有兩種表格...
<form method="post" action="">
<input type="text" name="name" id="name"/>
<input type="submit" name="form1_submit_pushed"/>
</form>
<form method="post" action="">
<input type="submit" name="form2_submit_pushed/>
</form>
在我的php端,當我按下第二種表單的Submit按鈕時,我希望能夠知道文本輸入“ name”的值。 有一些像....
if(isset($_POST['form2_submit_pushed']))
{
echo $_POST['name']; //or something else?
}
其背后的原因是,第一個表單具有大量我在第二個表單提交中不想要的數據。
您可以執行以下操作...此代碼使用jQuery:
<form id="form1" method="post" action="">
<input type="text" name="name" id="name"/>
<input type="submit" name="form1_submit_pushed"/>
<input type="hidden" name="form2_submit_pushed" id="form2_submit_pushed">
</form>
<form id="form2" method="post" action="">
<input type="submit" name="form2_submit_pushed"/>
</form>
<script>
$('#form2').submit(function(event) {
//prevent form2 from submitting and submit form1 instead...
event.preventDefault();
//before submitting, indicate that the "form2_submit_pushed" button was pushed
$('#form2_submit_pushed').val(true);
//submit form1
$('#form1').submit();
});
</script>
...但是為什么你不想要我不知道。 為什么不使所有控件都具有相同的形式? HTML旨在僅一次將一種形式的信息發送到服務器...
更新 :對不起,我沒有注意到您解釋要這樣做的原因所在的行。 如果要對發送到服務器的內容進行更明確的控制,建議使用AJAX提交表單。 查看https://api.jquery.com/serializeArray/和https://api.jquery.com/jQuery.ajax/
如果我在這里錯了,請糾正我,但是我相信普通的HTML只會從您要發布的表單中發布輸入內容。 一種選擇是在第二個表單上具有隱藏的輸入,在輸入的change事件期間通過javascript更新該輸入。
因此,您可以執行以下操作(我不建議使用內聯javascript,但應該可以向正確的方向發展):
<form method="post" action="">
<input type="text" name="name" id="name" onchange="document.getElementById('hiddenname').value=this.value"/>
<input type="submit" name="form1_submit_pushed"/>
</form>
<form method="post" action="">
<input type="hidden" name="hiddenname" id="hiddenname"/>
<input type="submit" name="form2_submit_pushed/>
</form>
然后,您只需要使用$ _POST ['hiddenname'];就可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.