2016-02-29 61 views
0

我有類似下面的輸入:變化值,當輸入類型=提交

<input class="submit" type="submit" name="submit" value="Blah"> 

我想改變其取值爲「其他文本」。 當我使用.val(),attr()或.prop()jQuery方法時,值改變的很好,但是當我提交時,輸入不再工作。只刷新頁面而不做它應該做的事情。

與.setAttribute方法相同的結果。

現在如何讓輸入正常工作,現在值已被更改?

+0

你想在提交後改變'價值'? – Pedram

+0

輸入類型提交的默認行爲是提交表單。如果要禁用提交,請使用'$('form')。submit(function(){return false;})' – jcubic

+0

服務器端腳本可能在處理輸入之前檢查提交按鈕的值 – jeff

回答

0

入住這

$(document).ready(function(){ 
 
    $(".submit").click(function(){ 
 
    \t $(this).val("OtherText"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="submit" type="submit" name="submit" value="Blah">

0

您可以阻止提交表單或按鈕的單擊事件:

$(".submit").click(function(e){ 
    e.preventDefault(); 
    $("#inputbox").val("OtherText"); 
    //Now you can submit form manually here 
    $("#form").submit(); 
}); 
+0

第二個代碼會創建無限循環,因爲調用submit()將執行事件和回調, – jcubic

+0

雅謝謝指出謝謝。 – Manwal

0

我相信這是服務器端腳本正在檢查值,所以不得不在點擊時改回值。

if ($('.submit').length > 0) { 
    $('.submit').prop('value', 'Other Text'); 
    $('.submit').click(function(){ 
    $('.submit').prop('value', 'blah'); 
    });} 

這似乎現在工作'好'。不理想,但作品