Im new to jquery..Я написал функцию jquery для обработки некоторых входных данных формы. Я вижу странную проблему, которую вызывает мой $(document).ready(function(){}
. дважды
Моя форма;
<form>
...........
<div class="form-actions" id="saveButtons">
<button class="btn btn-primary" /><%=i18n.localize("save")%></button>
<%if(outputs.isPermitted){%><script> </script><a class="btn btn-info" id="publish_api" >Save & Publish</a> <%}%>
<input type="reset" class="btn" value="<%=i18n.localize("cancel")%>" onclick="javascript:window.location.href='./'" />
</div>
</form>
И JQuery есть;.
<script>
$(document).ready(function(){
$('#publish_api').click(function(e){
$("body").on("api_saved", function(e){
$.ajax({
........
});
$("#manage_form").submit();
});
</script>
я вижу выше предупреждение дважды, когда я нажимаю кнопку save and publish
Эта проблема возникает, если какой-либо ошибка пользователя при заполнении формы. (То есть, если пользователь не заполняет поле MUST и не работает, если он заполнил эту запись и попытался нажать кнопку). В чем причина?
Редактировать; Обработчик события «api-saved» вызывается из javascript; (Для проверки всех Params в этой форме)
var v = $("#manage_form").validate({
submitHandler: function(form) {
if(!validate_tiers()){
return false;
}
$('#saveMessage').show();
$('#saveButtons').hide();
$(form).ajaxSubmit({
success:function(responseText, statusText, xhr, $form) {
$('#saveMessage').hide();
$('#saveButtons').show();
if (!responseText.error) {
$("body").trigger("api_saved");
} else {
.........
}
Вы правы. Я щелкнул более двух раз, и мой document.ready() получает много раз. Можете ли вы указать мне образец кода, чтобы исправить это? – Ratha
Если я уберу это, как я могу обработать функцию нажатия кнопки и отправить форму? – Ratha
@ Ratha Я не знаю, что вы имеете в виду; неясно, чего вы пытаетесь достичь. Что генерирует событие «api_saved»? – Pointy