2014-11-14 12 views
1

전자 메일 주소의 입력 필드가있는 양식이 있습니다. 양식에 제출 버튼이 없습니다. 대신 스트라이프 checkout.js 스크립트를 사용하여 양식을 제출하기 전에 (신용 카드를 처리하기 위해) 스트라이프로의 왕복을 유발하는 버튼을 제공합니다. checkout.js 스크립트는 사전 설정된 이메일 주소를 스트라이프 체크 아웃 양식으로 전달할 수있는 선택적 변수 data-email을 허용합니다. 내 양식에 이메일 주소 입력란의 값으로 data-email 변수를 설정하고 싶습니다. . 내가 사용해야 알고입력 필드의 변수 설정

<form role="form" class="new_user" id="new_user" action="/users" method="post"> 
    <label for="user_email">Email</label> 
    <input class="form-control" type="email" value="" name="user[email]" id="user_email" /> 
    <script src="https://checkout.stripe.com/v2/checkout.js" 
     class="stripe-button" 
     data-email=document.getElementById('user_email').value 
     data-key="stripe_key" 
     data-description="Product" 
     data-amount="500"> 
    </script> 
</form> 

:

다음은 형태와 스크립트의

데이터 이메일 = document.getElementById를 ('USER_EMAIL') 값을

그러나 data-email이 설정되지 않습니다. 입력란에 onchange 속성을 추가해야합니까? 그게 어떻게 생겼어? 그 이상이 필요합니까? 당신이 조각을 실행하면

var stripe = document.getElementById("stripe"); 
 
document.getElementById("email").onkeypress = function() { 
 
    stripe.setAttribute("data-email", this.value); 
 
}
<input id="email"> 
 
<script id="stripe"></script>

및 입력 요소를 검사 : 사용자가 페이지에 자신의 이메일을 입력 한 경우

+0

[스트라이프 버튼에 데이터 속성 설정] (0120-336-505) – Steven

답변

2

, 당신은뿐만 아니라 단지 그들이 입력 할 때 스크립트를 업데이트 할 수 있습니다 그런 다음 입력하면 지정된 스트라이프 스크립트 태그에 대해 data-email 속성 업데이트가 표시됩니다. 이 양식을 양식에 적용 할 수 있어야합니다.

+0

JSFiddle을 사용할 수 있습니까? 코드가 제공 되었습니까? 귀하의 코드가 스크립트의 data-email 속성을 수정한다는 것을 알 수 있습니다. 그러나 일단 스크립트가로드되면 속성을 변경할 수는 있지만 원본 값은 계속 사용되며 변경 사항은 무시됩니다. –

+0

@DanielKehoe 나는 (하나의) (http://jsfiddle.net/Luxelin/281exu33/)을 만들려고했지만 API 키가 없다. (이메일이 어떻게 영향을 미치는지 확신 할 수 없다. 통과). 어느 쪽이든, 당신은 스트라이프 이메일을 보낼 필요가 없습니다. 선택적 필드입니다. 사용자가 스트라이프 모달이로드 될 때 입력 할 수 있음을 의미합니다. – royhowie

+0

고맙습니다 @royhowie, 코드를 테스트하기 위해 API 키가 필요하다고 생각하지 않습니다. 전자 메일 데이터 속성은 선택 사항입니다. 사용자가 전자 메일 주소 (및 암호)를 입력 한 다음 "카드 지불"을 클릭하고 사용자가 전자 메일 주소를 두 번 입력하지 못하게하려는 양식 (Rails Devise)을 만들고 있습니다. 그래서 나는 노력하고 있습니다. 등록 양식의 입력 필드에서 스크립트의 전자 메일 데이터 속성을 업데이트합니다. 그러나이 시점에서는 스크립트가로드되고 스크립트의 변경 사항이 무시되는 즉시 이메일 데이터 속성이 설정되기 때문에 가능하지 않다고 생각합니다. –

관련 문제