2011-05-06 70 views
9

但沒有新的值顯示在表單中的醜陋效果。jQuery:如何在提交之前修改表單字段

,如果我這樣做:

$('#submit_button').click(function(){ 
    $('#field1').val('newval'); 
    $('#form1').submit(); }); 

的#字段1會顯示(一秒鐘)的新值這是一種醜惡..

+0

看起來你可能會把邏輯放在你不太需要的地方。你究竟想達到什麼目的?該具體操作背後的目的/推理是什麼? – Christopher 2011-05-06 10:40:33

回答

15

從上面的代碼,它看起來像你完全無視可見的窗體元素的值,如果是的話,爲什麼不乾脆把一個隱藏的表單字段與您所使用的名稱,而忽略了什麼貼通過從文本字段。

相反,如果代碼是不是真實的,你打算修改該值,而不是,你可以使用相同的技術,這樣的事情:

<input type="hidden" name="field1" id="field1" value="" /> 
<input type="text" name="field1_real" id="field1_real" value="" /> 

的jQuery:

$('#submit_button').click(function() { 
    var newValue = $('#field1_real').val(); // Modify me 
    $('#field1').val(newValue); 
    $('#form1').submit(); 
}); 
+6

但是,如果您在表單中按Enter鍵,則不會解決此問題。 – 2015-09-27 16:05:59

+0

我相信這可以用於點擊按鈕*或*按回車鍵:'$('#form1')。submit(function(){...});' – 2017-12-28 18:59:06

+0

@StephenR它確實會,但我不會確保'#submit_button'是一個真正的提交按鈕,因此它提交了表單(爲什麼我沒有回覆馬特超出範圍) – 2018-01-02 08:28:25

-1

使用一個隱藏字段的形式提交newval連同原始值?

我不確定你爲什麼要嘗試做你正在做的事情。

+0

長話短說。只是修補了某些東西在被破壞後再次工作 – GabiMe 2011-05-06 10:40:31

0

爲什麼不使用隱藏字段?

<input type="hidden"> 
相關問題