2014-01-13 7 views
0

내가 형태로 데이터 속성과 행동을 교환하는 기능을 제출합니다.전화 사용자 정의 기능

var submitcount7303 = 0; 

function checkWholeForm7303(theForm) { 
    var why = ""; 
    if (theForm.FirstName) why += isEmpty(theForm.FirstName.value, "First Name"); 
    if (theForm.LastName) why += isEmpty(theForm.LastName.value, "Last Name"); 
    if (theForm.EmailAddress) why += checkEmail(theForm.EmailAddress.value); 
    if (why != "") { 
    alert(why); 
    return false; 
    } 
    if (submitcount7303 == 0) { 
    submitcount7303++; 
    SwapAction(); //Calling Function 
    theForm.submit(); 
    return false; 
    } else { 
    alert("Form submission is in progress."); 
    return false; 
    } 
} 

양식을 제출하지 않고 나는 오류가 나타납니다 : 검증 JS 지금과 같은

<form action="" data-action="/FormProcessv2.aspx?WebFormID=89926&amp;OID={module_oid}&amp;OTYPE={module_otype}&amp;EID={module_eid}&amp;CID={module_cid}" enctype="multipart/form-data" onsubmit="return checkWholeForm7303(this)" method="post" name="catwebformform7303" class="review-form custom"> 

I : 여기

Reference Error: SwapAction is not defined. 

액션과 양식 HTML입니다 내가 단순한 것을 간과하고 있다고 가정한다. SwapAction();을 제거하고 data-action을 제거하고 양식을 다시 기본값으로 설정하면 문제없이 작동합니다.

어떻게 오류를 수정하고 스크립트를 구현합니까?

답변

1

기능은, 범위에 있지는 포장 DOM 준비 기능의 범위 내에서, 그래서 그것을 제거 :

function SwapAction() { 
    var dataAttr = $('.review-form').data(); 
    $('.review-form')[0].action = dataAttr.action; 
} 
+0

알았습니다! 고맙습니다. 이제 작동합니다. – L84

1

당신은 문서의 콜백 함수에 준비 SwapAction()을 정의하는 다른 범위는 자, 전역 범위에서 액세스 할 수 없습니다.

1

SwapAction()은 여기에 포함되지 않습니다.

첫 번째 접근 방식 사용하려면 :

$(function() { 
SwapAction = function { 
    var dataAttr = $('.review-form').data(); 
    $('.review-form')[0].action = dataAttr.action; 
} 
}); 

을 그리고 당신은 당신의 현재 코드에서 호출하는 것처럼 당신이 그것을 호출 할 수 있습니다.