2010-03-23 14 views
0

Я посмотрел вокруг SOF, но мне не повезло найти ответ. Это слишком легко или ответ не только там.Проверка JQuery при событии click вместо on submit

Что мне нужно сделать, так это проверить форму, когда щелкнули мой <img id='submit'/> и отправьте ее позже.

$(document).ready(function(){ 

    $('#submit').click(function() { 
    $('#suzuki_scb').submit(); 
    }); 

    $('#suzuki_scb').validate({ 
     submitHandler: function(form) { 
      form.submit(); 
     } 
    }); 
}); 

Даже это не работает и возвращает form.submit() не является функцией.

+1

Было бы проще сделать представить кнопку с изображением внутри и просто верните * false * из вашей функции отправки, если проверка не завершена (что отменит отправку). – R0MANARMY

ответ

1

Я думаю, что это то, что вы пытаетесь достичь

<script type="text/javascript> 
    $(document).ready(function(){ 
     $('#suzuki_scb').validate({ 
     // validation arguments go here 
     }); 
    }); 
</script> 
    ... 
<form id="suzuki_scb"> 

    <!-- Your form goes here --> 

    <button id="submit"> 
     <img src="[image url goes here]" /> 
    </button> 
</form> 

Из jQuery validationexample they have on the site, все, что вам нужно сделать, это вызов $("#suzuki_scb").validate();. Плагин должен позаботиться об отмене действия отправки для вас. Поэтому нажатие кнопки отправки с недопустимыми данными фактически не будет отправлять форму.

Использование HTML Button элемента с изображением внутри немного более семантически правильно, чем при использовании изображения с события нажатия JavaScript, который пытается отправить форму

+0

@ R0MANARMY: почему нет id = 'submit' прямо на ? Мой вопрос заключается в том, как проверить форму на событие click, а затем отправить форму, когда она действительна. – Zoheir

+1

Семантически правильнее использовать кнопку, чем изображение. Это также позволило бы объединить изображение с текстом внутри вашей кнопки (что, если вам когда-либо понадобится интернационализация, будет проще). В основном потому, что менее странно иметь кнопку, чтобы отправить форму, чем изображение, чтобы отправить форму. – R0MANARMY

+0

Кстати, я использую плагин проверки для jQuery – Zoheir

1

This page, на jQuery docs, есть информация, которую вы ищете. Вот отрывок из первого абзаца:

Этот метод устанавливает обработчики событий для Submit, фокус, KeyUp, размытие и щелкните для запуска проверки всей формы или отдельных элементов.

Надеюсь, это поможет.