2013-10-29 7 views
0

일부 필드가있는 양식과 링크가있는 버튼이 있습니다. 이 버튼을 클릭하여 양식을 제출하고 싶습니다. 이 같은 형태의 모양을<a> 태그를 사용하여 양식 제출

<form id="myForm" action="mypage.jsp"> 
    ..... 
<a class="submit-button" href="#">Submit</a> 
</form> 

다음 내 JS :

$(".submit-button").click(function(){ 
     if($(".submit-button").hasClass("disabled") == false){ 
      alert("true"); 
      $("#myForm").submit(function(ev) { 
       alert("submit"); 
       var form = $(this); 
       $.ajax({ 
        url: form.attr('action'), 
        data: form.serialize(), 
        success: function (data) { 
         .... 
        } 
       });  
       return false; 
      });   
     } 
    }); 

내 문제는 내가 클릭하면 버튼 아무 변화가 없다는 것입니다. "진정한"경고는 볼 수 있지만 "제출"은 볼 수 없습니다. 누구든지 문제가 될 수 있다는 것을 알고 있습니까? 사전

답변

1

에서 덕분에

이 버튼을 클릭 이외의 핸들러를 제출하고 양식을 클릭에 제출 전화를 넣어보십시오. 난 당신의 게시 된 HTML 양식에서 볼 수

그리고 그것은 어쩌면의 ID myForm 대신 supportForm

$(".submit-button").click(function() { 
    if ($(".submit-button").hasClass("disabled") == false) { 
     alert("true"); 
     $("#myForm").submit(); // or $("#myForm").trigger("submit"); 
    } 
}); 
$("#myForm").submit(function (ev) { 
    alert("submit"); 
    var form = $(this); 
    $.ajax({ 
     url: form.attr('action'), 
     data: form.serialize(), 
     success: function (data) {.... 
     } 
    }); 
    return false; 
}); 
+1

감사합니다! – novellino

+0

@novellino 도와 주시겠습니까? –

0

을 가지고 양식은 ID myForm을 가지고 있지만 당신은 당신이 제출해야 supportForm

+0

이것은 우연히 발생했습니다. – novellino

+0

'#'과'ev'를 제거하면 @novellino가 작동할까요? '$ ('myForm'). submit (function()' – VladL

0

를 제출하려고하기 때문에 양식을 설정하고 iframe에 대상 작업을 설정하십시오. AJAX에 게시하려는 작업 iframe이로드 된 후 수행 할 작업 ...

HTML: 

<form id="my_form" class="myForm" method="post" action="mypage.jsp" **target="iframe123"**> 


</form> 
**<iframe id="iframe123" style="display:none;"> 

    </iframe>** 
    <a class="submit-button" href="#" onclick="">Submit</a> 

jQuery: 

    document.getElementById('my_form').submit(); // to submit form 
    $('#iframe123').on('load',function(){ // Ajax Post 
      alert('Hello'); 
      var form = $(this); 
      $.ajax({ 
       url: form.attr('action'), 
       data: form.serialize(), 
       success: function (data) { 

       } 
      });  
      return false; 
}); 
완벽한 일개

Demo

Hope it Helps.... 
    Thank U