簡體   English   中英

不同形式的輸入值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM