2010-07-08 2 views
0

웹 페이지의 장바구니를 마무리 하려는데 마지막 문제가 하나 있습니다. 구매를 완료하기 전에 특정 하드웨어 키 (지문)를 입력해야하는 '장바구니에 추가'버튼 옆에 텍스트 상자가 있습니다. 해당 필드가 유효성이 확인 될 때까지 최종 사용자가 "장바구니에 추가"를 클릭 할 수 없도록 설정해야합니다.jquery 유효성 검사가 실패 할 경우 '작업'양식 사용 안 함

텍스트 상자가 필요하고 특정 문자열 만 허용하도록 유효성 검사를 성공적으로 설정했지만 텍스트 상자의 유효성이 확인 될 때까지 동적으로 '비활성화'하는 방법을 알아낼 수 없습니다. . 여기

<script> 
$(document).ready(function() { 

$.validator.addMethod("os0", function(value) { 
    return /^(([a-fA-F0-9]{4,4})+\-([a-fA-F0-9]{4,4}))$/.test(value); 
    }, "Invalid Fingerprint.");  

$("#myFingerprint").validate({ 
    rules: { 
     os0: "required os0", 
    },  
    }); 
}); 
</script> 

는 해당 HTML입니다 : 당신은 양식을 줄 수

<td>                
<form id="myFingerprint" action="https://www.blahblahblah.com/ecom/gb.php?c=cart&i=770678&cl=122992&ejc=2" target="ej_ejc" method="POST" accept-charset="UTF-8"> 

<input type="hidden" name="on0" value="Fingerprint"/> 

Fingerprint:<br/> 

<input type="text" id="os0" name="os0" maxlength="9"/> 

<input type="image" src="http://www.blahblahblah.com/add_to_cart.gif" border="0" alt="Add to Cart" class="ec_ejc_thkbx" onClick="javascript:return EJEJC_lc(parent);"/> 
</form> 
</td> 

답변

2

(양식 코드는 우리의 전자 상거래 업체에서 붙여 복사 &입니다) 여기

내 JQuery와있다 onsubmit 메서드를 실행 한 다음 양식의 유효성을 검사하지 않으면 양식 제출을 취소해야합니다.

$('#myFingerprint').submit(function (e) { 
    if(!all_of_my_validation_passed) { 
     e.preventDefault(); 
    } 
}); 
0

성냥갑, 당신은 생명을 구하는 사람입니다. 그것은 매력처럼 작용했습니다.

그래도 이상한 일이 있습니다. 이 스크립트를 추가하면 유효한 하드웨어 키를 입력하고 '장바구니에 추가'를 클릭하면 내 장바구니가 동일한 창에서 팝업이 아닌 새 브라우저 탭으로 열립니다. 어떤 아이디어가 있습니까? 경우에 따라, 내 새 html 양식 코드는 다음과 같습니다.

<form id="myFingerprint" action="https://www.e-junkie.com/ecom/gb.php?c=cart&i=770678&cl=122992&ejc=2" method="POST" onSubmit="return function(e)" target="ej_ejc" accept-charset="UTF-8"> 
+0

나는이 간단한 질문에 사과드립니다. 나는 여전히 자바 스크립트/jquery에서 꽤 초보자입니다. – GetAwesome

+0

양식에'target' 속성이 있습니다. 그러면 내부 이름이 "ej_ejc"인 새 탭에서 열리게됩니다. 당신이 정말로 그걸 원한다면 아마 그걸 가져야 만 할 것입니다. 또한, 그래서 대답은 귀하의 질문에 대한 답변을 할 때, 그 옆에있는 체크 표시를 클릭하십시오, 그래서 포스터는 신용 가져옵니다 :) 감사합니다! – Matchu

+0

물론 가능합니다. 머리를 주셔서 감사합니다! – GetAwesome

관련 문제