簡體   English   中英

使用 Javascript 在表單提交時重定向用戶時出現問題

[英]Problem when using Javascript to redirect user on form submit

我有一個網頁,上面有一個表格。 此表單包含一個按鈕和一個文本框。 單擊按鈕或提交表單時,我想從文本框中獲取文本並將其附加到 url。 代碼如下所示:

<form 
 name="askaquestion"  
 id="ask-a-question"  
 onSubmit="window.location.href='http://www.someurl.com/app/' + document.askaquestion.question_ask.value"  
    >  
 <input  
  type="submit"  
  name="submit_question"  
  value="Submit"  
  class="submit"  
  onClick="window.location.href='http://www.someurl.com/app/' + document.askaquestion.question_ask.value"  
 />  
 <input  
  type="text"  
  name="question_ask"  
  value="What's Your Question?"  
  class="inputsmall"  
  id="ask_us_a_question_textbox"  
 />  
</form>  

問題是這有時會起作用,有時它會將我帶到此 URL:

http://dev/fs?submit_question=Submit&question_ask=help&hiddenInputToUpdateATBuffer_CommonToolkitScripts=1#

我不確定為什么會這樣。 表單使用 jQuery 淡入淡出,這可能是一個問題嗎? 有沒有更好的方法來實現所描述的行為?

添加return false; onSubmit

onSubmit="window.location.href='http://www.someurl.com/app/' + document.askaquestion.question_ask.value; return false;"

這會停止表單提交(這就是為什么你得到http://dev/fs?submit_question... - 這表明你的頁面被命名為fs )。

當用戶點擊提交按鈕時,會在執行 onClick 操作后觸發“提交”操作。 為了防止提交操作發生,您需要按照 Gert 所說的去做,在<input onClick="return false"><form onSubmit="return false">

為什么不直接使用<form action="http://www.someurl.com/app/"> ,這樣數據就會被發送到您指定的網址?

如果您真的希望將數據發送到兩個不同的地方,最好在第一個處理程序中執行第二組請求,即表單操作指定的內容。

一些有用的鏈接:
http://www.w3schools.com/tags/tag_form.asp
http://bytes.com/topic/javascript/answers/809181-noobie-onclick-confirm-return-false

暫無
暫無

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

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