2013-03-26 107 views
0

我想要做的事很簡單。 我有一個形式,一個提交按鈕jQuery - 提交事件時更改提交按鈕的HTML

<form accept-charset="UTF-8" action="/some_url" id="some-form" method="post"> 
    ... 
    <button class="btn" id="remove-selected" type="submit">Send</button>` 
</form> 

我想改變與當表單提交,但無法做到這一點的jQuery按鈕的HTML,好像表單提交之前,我可以發生更改。

我的代碼,現在,死的簡單:

$("#some-form").on("submit", function(e) { 
    $("#remove-selected").html("Sending..."); 
}); 

感謝建議!

+0

其實它適用於Chrome和Firefox,但不適用於Safari ...似乎是一個Safari錯誤,應該嘗試之前,我的壞.. – 2013-03-26 16:00:08

回答

1
$("#remove-selected").click(function(){ 
    $(this).html("Sending..."); 
}); 
+0

感謝您的建議。事實上,我已經測試過,首先,我的問題是,似乎表單是在jQuery執行之前提交的。我的請求需要一些時間,我希望在執行html請求時更改按鈕。 – 2013-03-26 15:22:30

+0

適用於Chrome和Firefox,但不適用於Safari。任何想法? – 2013-03-27 13:33:22

+0

Alrick,因爲Apple已經停止發佈Windows版本,所以我無法測試它,但是您可以通過一步一步來完成。首先,找到問題,它是單擊事件還是html方法?例如,使用console.log。然後,當您發現問題時嘗試替代方案。 – Tim 2013-03-28 09:55:54

2

你的東西似乎爲我工作,只需通過JS提交表格,以更多的控制順序和錯誤情況。

$("#some-form").on("click", function(e) { 
    e.preventDefault(); 
    $("#remove-selected").html("Sending..."); 
    $(this).submit(); 
}); 

http://jsfiddle.net/GDAhe/1/

+0

感謝您的建議,當我這樣做時,文本正在改變,但表單沒有提交,不知道爲什麼.. – 2013-03-26 14:47:05

+0

在你的例子中沒有具體的提交處理集。你有沒有在你的形式像

」?如果沒有,你需要通過Ajax或其他方式在JS中執行此操作。 – dersvenhesse 2013-03-26 14:49:55

+0

我已更新我的問題,並提供有關我的表單的詳細信息。 – 2013-03-26 14:53:15

0

你的代碼是正確的,你可能已經忘記了它嵌入一個$(document).ready()方法內。

+0

謝謝Sébastien,但我已經將我的代碼嵌入'$(document).ready()' – 2013-03-26 15:24:39