2013-04-17 3 views
0

Я создаю форму платежа, часть которой пользователь может выбрать кредитную карту или PayPal. У меня проблемы с функцией отображения. Должен ли я создавать новую функцию для каждого элемента? Это то, что у меня есть:Как использовать опору. применяется только к элементу, нажатому?

<p>Billing Infomation</p> 
    First Name: <input name="Billing_F_name" type="text" size="15" 
    value="Enter First Name"/> &nbsp;Last Name: <input name="Billing_L_name" 
    type="text" size="20" value="Enter Last Name"/><br /> 

    Method of Payment:<br /> 
    Credit Card <input name="payment" id="p1" type="radio" onclick="javascript: 
    payment()"/><br /> 

    Paypal <input name="payment" id="p4" type="radio" 
    onclick="javascript:payment()"/><br /> 
<script language="javascript" > 
    function payment(click) 
{ 
    if(document.getElementById("p1"){ 
    $('input:radio[name="payment1"][value="P_1"]').prop('checked=checked', true); 

    document.write('<? $P_Method = 'P_1'; ?>'); 
    } 

    else if(document.getElementsById("p4")){ 
    $('input:radio[name="payment4"][value="P_4"]').prop('checked=checked', true);} 
    document.write('<? $P_Method = 'P_4'; ?>'); 
} 
    </script> 

BTW, только для справки. Установленные переменные PHP устанавливаются в метод php-переключателя, отображая их соответствующие элементы, которые функционируют должным образом в данный момент.

+0

Поскольку вы импортируете JQuery, используйте его для хорошо: нет 'onclick', не' документ. getElementById', no 'document.write'. – moonwave99

ответ

0

Передайте щелкнув элемент в обработчик и используйте его.

javascript:payment(this) 

..

function payment(el) { 
    $(el).doSomething() 
} 
+0

Человек, избавиться от этого неприятного 'javascript:' протокола. x: – Snuffleupagus

+0

@Snuffleupagus Я бы скорее избавился от onclick лично. –

0

для выполнения в PHP вам не нужно использовать AJAX

<script language="javascript"> 
function payment(dd) 
{ 

if(dd.id=="p1") 
    document.write("<? $P_Method = 'P_1'; ?>"); 

else if(dd.id=="p4") 
document.write("<? $P_Method = 'P_4'; ?>"); 

} 
</script> 
<p>Billing Infomation</p> 
First Name: <input name="Billing_F_name" size="15" value="Enter First Name" type="text"> 
&nbsp;Last Name: 
<input name="Billing_L_name" size="20" value="Enter Last Name" type="text"><br> 

Method of Payment:<br> 
Credit Card <input name="payment" id="p1" onclick="payment(this)" type="radio"><br> 

Paypal <input name="payment" id="p4" onclick="payment(this)" type="radio"><br> 
Смежные вопросы