2011-02-23 10 views
1

두 개의 양식과 버튼이 있습니다. Firefox에서는 모든 것이 잘 작동합니다. 페이팔 결제로 새 창을 얻었고 모든 일이 일어난 창에서 사용자에게 전자 메일을 보낼 send_mail 양식을 제출했습니다. Chrome에서 어떻게 작동합니까? 왜 작동하지 않는거야? 나는 아무것도 (또는 그렇게 생각) 시도했습니다!Chrome에서 보조 기능이 작동하지 않습니다.

그래서 :

<form name="registerForm" id="registerForm" target="_blank" action="paypal_url" method="post" onsubmit="$('#send_mail').submit();"> 
... 
</form> 

<form name="send_mail" id="send_mail" action="" method="post"> 
... 
</form> 

<a onclick="$('#registerForm').submit()">Go to paypal and send confirmation mail</a> 
+2

'onsubmit'은'submit()'을 사용할 때 해고되지 않습니다. – pimvdb

답변

4

을,

 
$(document).ready(function() { 
$(".yourLinkClass").click(function() { // or "#yourLinkId" for that matter 
    $("#registerForm").submit(); 
}); 
}); 

그리고 당신은 또한 제출 버튼을 사용할 수 jQuery를하지 않고 : document.getElementById(....).submit()

또는 링크 정상의 jQuery 방법으로 링크에 이벤트를 제출 자바 스크립트 전용 제출을 사용하십시오, 왜 자바 스크립트 오류가있을 경우 사용할 수 없도록 양식을 설정 했습니까?

제출 양식의 표준 양식 입력을 사용하여 ID를 제공하고 필요에 따라 자바 스크립트를 통해 제출 양식 또는 텍스트를 변경 한 다음 onclick & onsubmit 이벤트를 해당 기능 상단에 레이어로 만들고 false를 반환하도록합니다. . 더 나은 폴백.

난 당신이 한 번에 두 가지 형태로 제출하려는 이유를 잘 모르겠지만, 방법이 대안 (I이 코드를 테스트하지 않았습니다 참고하지만 생각을 전달한다)에 대한 :

<script type='text/javascript'> 
$('#fallback-register-submit').hide(); // Hide the submit button. 
$('#registration-link').show().click(function(){ // Show the link and attach the action. 
    $('#registerForm').submit(); 
    return false; // Don't bother following the link anchor. 
}); 
</script> 

<form name="registerForm" id="registerForm" target="_blank" action="paypal_url" method="post""><!-- Single form that does all of the submitting. --> 
... 
... 
<input type='submit' id='fallback-register-submit'>Register</input><!-- In the event of a javascript error for their browser, they can still buy your stuff! --> 
<a id='registration-submit' style='display:none'>Go to paypal and send confirmation mail</a> 
</form> 
+0

하나의 양식이 페이팔 양식이기 때문에 다른 하나는 데이터베이스의 내용을 업데이트 해 주셔서 감사합니다 + – Bogdan

+0

음, 양식을 병합 할 수 없으면 게시 한 코드에 추가 제출을 추가 할 수 있습니다. 이상적이지는 않지만. 내가 생각할 수있는 상황에 대한 유일한 접근 방식은 페이팔 이전에 양식을 제출하여 사용자가 귀하의 프로세스를 거쳐야한다는 사실을 알고 있고 페이팔 양식을 여러 단계의 마지막 단계로 유지하는 것입니다. 형태. 그게 당신에게 문제가되지 않거나 놀라 울 정도로 중요한 지불 양식이 아니라면, 자바 스크립트 사용자에게 제출되지 않은 하나의 양식이나 다른 양식을 남겨 두는 것이 실질적으로 남겨진 것일 수도 있습니다. – Kzqai

+0

예, 그게 내가 할 일입니다. 다른 어떤 방법도 보이지 않습니다 ... – Bogdan

2

왜 그냥 A와 둘을 제출 결합하지?

onclick="$('#send_mail').submit(); $('#registerForm').submit();" 

당신이 다른 형태가 처음 후에 제출하려는 경우 :

onclick="$('#send_mail').submit(function() {$('#registerForm').submit();}); " 

여기에 jQuery를 사용하는 가정

+0

첫 번째 방법은 #registerForm (paypal 창을 열지 만 #send_mail을 제출하지 않음) 만 제출하고 두 번째는 아무 것도하지 않습니다. – Bogdan

1

는 지금까지 내가 이해, 당신은 양식을 제출 할 링크를 사용하고 있습니까?

왜 "일반"자바 스크립트를 사용하지 않습니까? 당신이 정말 좋은 이유에가 있지 않는 한)

+0

네, 잘 작동하지만 다른 양식을 제출하지 않습니다 .. #send_mail – Bogdan

+0

글쎄, if 당신은 두 가지 양식을 제출하고 싶습니다. 예를 들어 서로 다른 iframe에 그들 (또는 적어도 하나)을 가지고있는 것이 좋습니다. 또는, 더 나은 변형이라고 생각합니다. 필요한 모든 데이터를 하나의 형식으로 수집하여 동일한 창에서 열어야하는 페이지로 전달하고, 해당 페이지가 다른 형식의 데이터를 전달합니다. _blank에서 여는 페이지로 이동합니다. 또는 내가 제안한 스크립트에서 "_blank"양식에 ​​해당 줄을 추가 할 수 있습니다. – Ibolit

관련 문제