2014-11-28 3 views
2

나는 페이지에 양식이 있습니다. 양식 태그 외부에있는 제출 버튼을 클릭하면 양식을 제출하고 싶습니다. $('#theform').submit()을 사용할 때 메서드 작업을 완벽하게 제출하지만이 작업을 수행 할 때 document.getElementById('theform').submit()은 내 페이지를 새로 고치기 만합니다.. 자바 스크립트에서 제출 jquery에서 제출.

Fiddle

스크립트

$(function() { 
    $('input[type="submit"]').click(function() { 
     //$('#theform').submit() 
     document.getElementById('theform').submit() 
    }) 

    $('#theform').submit(function(e) { 
     alert(0) 
     e.preventDefault() 
    }) 
}) 

HTML

<form id="theform"> 
    <input type="text" id="fname" /> 
    <input type="text" id="lname" /> 
    <input type="text" id="country" /> 
</form> 
<input type="submit" /> 
+0

는 어떻게 제출받을 예정이다? – entropid

+1

'submit()'DOM 노드 메소드가 jQuery'submit' 핸들러를 트리거하지 않습니다. 따라서 –

답변

4

에서 efine 조치는 DOM submit() 방법은 jQuery's does 저놈이 document.getElementById('theform').submit()FORM를 제출 자바 스크립트 이유 your form 같이 이벤트를 제출 트리거하지 않습니다.

는 여기 게시물 볼 수 있습니다

: 당신은 당신의 형태로 모든 작업을 포함하지 않는 Jquery submit vs. javascript submit

+0

유익한 설명, 감사합니다. – naomik

-3

사용 document.forms["theform"].submit();

및 D 양식

<form id="theform" action="submit-form.php"> 
+0

'document.forms [ "theform"]'은 정확히 document.getElementById ("theform")'. 'getElementById'는 어쨌든'forms []'보다 * 선호됩니다. – Matt

+0

핵심은 동작을 정의하는 것입니다. amit은 HTML에 FORM 태그에 작업이 없기 때문에 동일한 페이지가 표시됩니다. Adnan이 응답 수정을 고려합니다. DOM 요소를 가져 오는 방법은 여기에서 문제가되지 않습니다. – Diego