2014-01-07 2 views
0

내가 쓴 다음 스크립트를 제출의 페이지를 새로 고침 : 양식이 제출되지 않습니다하지만이 버튼을 클릭하면 이제대신 지연 양식을 제출

$(document).ready(function() { 
    $('#form-submit').on('click', function (event) { 
     event.preventDefault(); 
     // event.stopPropagation(); 
     $('#big-dots-loader').css({ 
      'display': 'block' 
     }); 
     $('#wait-please').show(); 
     $('#cities-holder').empty(); 
     setTimeout(function() { 
      $("#new-item-form").submit(); 
     }, 3000); 
     //$('#form-submit').trigger('click'); 
    }); 
}); 

, 지연이 발생 지정된 URL로 이동하고 페이지를 새로 고칩니다.

어떤 이유가있을 수 있습니까?

<form id="new-item-form" 
    action="<?php echo base_url("process/ads/new"); ?>" 
    method="POST" enctype='multipart/form-data'> 
+0

'action' 속성의 값이 정확합니까? –

+0

일반적으로 FORM을 제출할 때 페이지가 새로 고쳐지면 FORM이 제출되었음을 의미합니다. 나는 당신의 문제를 이해하지 못합니다. 네트워크 탭을 확인하십시오. 양식의 조치 URL이 정확합니까? –

+0

이 질문에 [tag : php] 태그가 붙은 이유는 무엇입니까? –

답변

-1

, 이것은

$(document).ready(function(){ 
    $('#form-submit').submit(function(event){ 
     event.preventDefault();  
     $('#big-dots-loader').css({'display':'block'}); 
     $('#wait-please').show(); 
     $('#cities-holder').empty(); 
     setTimeout(function(){$("#new-item-form").submit();}, 3000);      

     return false; 
    });   
}); 

#form-submit<form> 태그

+1

이미 기본 동작을 방지하고 있으므로 false를 반환하는 이유는 무엇입니까? 그리고'# form-submit'이 FORM의 ID라면'# new-item-form'은 무엇입니까 ??? –

+1

네가 옳았으나 반환 값은 false로 할 수있다. 우리는 보통 비즈니스 논리 이후에 제출하기를 원하는 폼에 대해 수행하고있다. 하지만 네 말이 맞아 !! 그것은 event.preventDefault()를 유지하거나 false를 반환합니다. –

+0

jQuery에서 false를 반환하면 기본 동작을 방지하고 이벤트의 버블 링을 막는 바로 가기이기 때문에 사실입니다. –

0

이 시도의 ID해야 작동 코드 아래에 시도하십시오 : 여기

또한 양식 여는 태그입니다 -

$(window).load(function() { 
    var submit = false; 


    $('#form-submit').on('click', function (event) { 
    $('#big-dots-loader').css(
     'display': 'block' 
    ); 
    $('#wait-please').show(); 
    $('#cities-holder').empty(); 
      setTimeout(function(){ 
       $("#new-item-form").submit(); 
      }, 3000); 
      if(!submit) 
       event.preventDefault(); 
    }); 
}; 
+0

아니요 작동하지 않습니다. 아무 일도 일어나지 않는다. –

+0

왜'var submit = false;'? '변수'는 의미가 있습니까? –

0

전화가 무엇인지, 제출 된 정보가 확실하지 않은 경우 요청 데이터를 살펴보십시오.

Firefox 브라우저에서 Firebug 플러그인을 사용하고 네트워크 탭을보고 양식 제출 여부 및 어떤 매개 변수가 게시되는지 확인할 수 있습니다.

마찬가지로 Chrome 브라우저에서 내장 된 Dev Tools (F12)를 사용하여 네트워크 요청을 볼 수 있습니다 (네트워크 로그가 손실되지 않도록 '로그시 보존'을 선택해야합니다).

또한 브라우저 콘솔 창에서 js가 오류를보고하지 않는다고 확인하십시오. js의 오류로 인해 js 실행이 중지되고 종종 까다로운 동작이 발생합니다.