簡體   English   中英

如果當前表單中的表單字段不在當前表單中,如何在其中添加表單字段?

[英]How can I include a form field in my POST if it is not in the current form?

我有一個頁面顯示用戶上傳的照片。 我有兩種形式提供兩種不同的操作。 第一種形式replace_photo_form只是用戶按下以替換照片的按鈕。 第二種形式next_page_form是用於輸入照片標題以及用於進入下一頁的按鈕的字段。 用戶按下next_page按鈕時,應將標題保存到DB並繼續下一頁。

<body>
  <form id="replace_photo_form">
    <input type="text" name="caption" />
    <input type="submit" name="replace_photo" value="Replace Photo" />
  </form>

  <div>
    <p>This is where some other information is located</p>
  </div>

  <form id="next_page_form">
    <input type="submit" name="next_page" value="Next Page" />
  </form>
</body>

我希望標題字段直接出現在頁面結構中的replace_photo按鈕旁邊,因此我將其包含在replace_photo_form中。 問題是,當我按下next_page按鈕時,它並沒有像我想要的那樣為字幕輸入字段保存POST值。 理想情況下,我只將標題字段包括在next_page_form中,以便將標題另存為POST值,但是我需要將其顯示在“替換照片”按鈕旁邊。

如果當前表單中的表單字段不在當前表單中,如何在其中添加表單字段?

將兩個表單合並為一個跨兩個提交按鈕的表單(當然,它仍將包括輸入內容)。

然后,在提交表單后,您可以檢查$_POST存在哪個值( next_pagereplace_photo ),因此可以發現按下了哪個按鈕以及需要采取什么措施。

即使禁用了Javascript,此技術也將正常工作。 如果您願意放寬此限制,則可以使用許多其他選項(例如,鈎住表單的submit事件以從當前表單的隱藏字段中的另一個表單復制文本框的值)。

一種可能性是向字段添加偵聽器,以將其值與第二種形式的隱藏字段聯系起來:

<form id="replace_photo_form">
    <input type="text" name="caption" 
        onchange="document.getElementById('next_page_form_caption').value = this.value;"/>
    ..
</form

<form id="next_page_form">
    <input type="hidden" id="next_page_form_caption" name="caption"/>
    ..
</form>

您的意思是在單擊next_page按鈕之前, replace_photo_form提交,您只需將onclick添加到next_page按鈕,如下所示:

<input type="submit" name="next_page" value="Next Page" onclick="document.getElementById("replace_photo_form").submit();" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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