2012-05-15 3 views
0

전 게시 된 것처럼 거의 simular 문제가 있습니다. 첫 번째 문제는 해결되었지만 이제는 다음 문제를 해결하기 위해 2 시간 동안 노력하고 있습니다.jquery : 양식 제출이 작동하지 않습니다.

확인한 후 양식을 제출해야합니다. 폼 목록이 길고 jquery 확인 메시지를 강요받는 클래스가 있습니다. 사용 된 양식의 이름과 그 양식의 데이터를 얻을 수 있습니다 (귀하가 제공 한 솔루션!).

보낼 양식의 이름 또는 ID는 변수에 저장됩니다. 두 가지 모두 시도했다 : 양식의 ID 이름, 둘 다 내 코드에서 작동하지?

<script type="text/javascript"> 
$(".confirm_submit").click(function(){ 
var confirmteamnaam = $(this).closest("form").find("input[name='teamnaam']").val(); 
var frmnaam = $(this).closest('form').attr('id'); 
jConfirm(confirmteamnaam + frmnaam, function(r) { 
    if(r == true) 
    { 
     $(frmnaam).submit(); // this doe not work?? 
     return true; 
    } 
    else 
     return false; 
}); 
return false; 

});

확인 텍스트에 이름이 올바르게 표시됩니다. ID와 양식의 이름을 사용해 보았습니다. 둘 다 제출하지 않습니까?

미리 감사드립니다.

답변

3

당신은 양식 선택의 ID 선택을해야합니다

$('#' + frmnaam).submit(); 

편집 : 일부 과도한 쿼리를 가지고 진행 크롤링. 다음은 그 중 일부를 줄이는 약간의 리팩터입니다.

$(".confirm_submit").click(function() { 
    var $form = $(this).closest("form"), 
     confirmteamnaam = $form.find("input[name='teamnaam']").val(), 
     frmnaam = $form.attr("id"); 

    jConfirm(confirmteamnaam + frmnaam, function(r) { 
     if (!r) return false; 
     $form.submit(); 
     return true; 
    }); 

    return false; 
}); 
+1

이것은 정확하지만 설명이 잘되어 있습니다. attr ('id');'id는 문자열이지만 CSS 셀렉터를 추가해야하거나 셀렉터가 HTML 태그를 찾으려고 시도합니다. 'var frmnaam = $ (this) .closest ('form '). –

+0

시도했지만 아직 제출하지 않았습니까? – Terradon

+0

@ 테라돈 - 지금 어떤 행동을하고 있습니까? 어떤 오류가 있습니까? – jmar777

관련 문제