2013-03-26 3 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> 

Я хочу изменить HTML кнопки с JQuery, когда форма представляется, но не может достичь этого, кажется, что представление формы происходит прежде, чем я могу Измени это.

Мой код прямо сейчас, мертв простой:

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

Спасибо за советует!

+0

На самом деле он работает в Chrome и Firefox, но не в Safari ... Кажется, это ошибка Safari, должен попробовать это раньше, мой плохой. –

ответ

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

Спасибо за ваше предложение. На самом деле, я тестировал это во-первых, моя проблема в том, что кажется, что форма передается до запуска jQuery. Мой запрос займет некоторое время, и я хочу, чтобы кнопка менялась при выполнении запроса html. –

+0

Работает в Chrome и Firefox, но не с Safari. Есть идеи? –

+0

Alrick, так как Apple перестала выпускать его для Windows, я не могу его протестировать, но вы можете сделать это сами, шаг за шагом. Во-первых, найдите проблему, это метод click или html-метод? Например, используйте console.log. Затем попробуйте альтернативу, когда найдете эту проблему. – Tim

2

Ваши вещи, кажется, работают на меня, просто отправьте форму через JS, чтобы иметь больше контроля над случаями последовательности и ошибок.

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

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

+0

Спасибо за ваше предложение, когда я это сделаю, текст меняется, но форма не отправляется, не может понять, почему .. –

+0

В вашем примере нет конкретного набора для обработки отправки. У вас есть это в вашей форме, как

? Если нет, вам нужно сделать это в JS через Ajax или что-то еще. – dersvenhesse

+0

Я обновил свой вопрос с подробной информацией о моей форме. –

0

Вы код правильно, вы, возможно, забыли встроить его внутри метода $(document).ready().

+0

Спасибо Sébastien, но я вставляю свой код внутри '$ (document) .ready()' –

Смежные вопросы