2011-02-14 2 views
0

미리 설정된 값으로 사용자를 PayPal 페이지로 보내는 많은 양식의 페이지가 있습니다. 변경되는 값에 따라 폼은이를 마지막 "item_name"숨겨진 입력으로 연결합니다.내 사이트에있는 100 개 이상의 각 양식에 대한 스크립트로 압축되어 있습니다.

각 양식에 대해이 양식과 HTML을 함께 넣고 "작업"의 모든 인스턴스 후에 고유 한 번호를 자동으로 입력하는 PHP 페이지를 설정했습니다. 따라서 함수는 combAction2()와 양식 이름 "action2"등이됩니다.

"양식 번호"를 변경하고 양식 당 javascript 기능을 변경하는 스크립트가 하나만있는 방법을 알아낼 수 없습니다. 하나의 스크립트 만 만들 수있는 아이디어는 없습니까? 또는 실제로 항목 당 하나씩 가질 필요가 있다면 스크립트를보다 효율적으로 만들 수 있습니까? 감사.

<script type="text/javascript"> 
     function combAction1() 
     { 
     var action1person = document.forms['action1'].action1person.value; 
     var action1action = document.forms['action1'].action1action.value; 
     document.forms['action1'].item_name.value = action1person + ", " + action1action; 
     } 
</script> 
<form name="action1" action="https://www.paypal.com/cgi-bin/webscr" target="_blank" method="post" onSubmit="combAction1()"> 
     <input type="hidden" name="cmd" value="_xclick"> 
     <input type="hidden" name="paymentaction" value="authorization"> 
     <input type="hidden" name="business" value="[email protected]"> 
     <input type="hidden" name="currency_code" value="USD"> 
     <input name="amount" value="5.00" type="hidden"> 
     <input name="action1action" type="hidden" value="Action 1 text"> 
     <select name="action1person" OnChange="combAction1()"> 
      <option value="Person 1">Person 1</option> 
      <option value="Person 2">Person 2</option> 
      <option value="Person 3">Person 3</option> 
      <option value="Person 4">Person 4</option> 
     </select> 
     <input type="hidden" id="item_name" name="item_name" value="item_name"> 
     <a href="#" onclick="document['action1'].submit()">Submit</a> 
</form> 

답변

0
<script type="text/javascript"> 
     function combAction1(frm) 
     { 
      var action1person = frm.action1person.value; 
      var action1action = frm.action1action.value; 
      frm.item_name.value = action1person + ", " + action1action; 
     } 
</script> 

<form name="action1" action="https://www.paypal.com/cgi-bin/webscr" onsubmit="combAction1(this.form);"> 
.. 
.. 
<input type="submit" /> 
</form> 

이 페이지의 한 형태이며, 그 변경하지 않습니다 생각한다면, 당신은 단지 인덱스

document.forms[0].fieldName 
을 사용할 수 있습니다