2014-06-24 4 views
0

Как читать переменную, на которую нажата кнопка.Прочитайте, какая кнопка была нажата до переменной

У меня есть пять кнопок, которые похожи на ответы.

<fieldset> <legend> Question1 </legend> 
    <input type="button" value="1st Ansswer"/> 
    <input type="button" value="2nd Ansswer"/> 
    <input type="button" value="3rd Ansswer"/> 
    <input type="button" value="4th Ansswer"/> 
    <input type="button" value="5th Ansswer"/> 
</fieldset> 

Я хочу прочитать ответ на вопрос 1 в переменной, чтобы отправить его по электронной почте.

Для лучшего объяснения я хочу что-то вроде этого Это для

<select name="SOption"><option>Option1</option><option>Option2</option></select> 

Я прочитал результат в переменной Вопрос как этот

$Question= $_POST['SOption']; 

Как сделать то же самое с вместо кнопки выберем.

Надеюсь, вы понимаете

ответ

0

мне удалось сделать это с помощью кнопки спрятана

function change_value($id, $value) 
      { 
       document.getElementById($id).value = $value; 
      } 


        <input type='button' class="myButton2" onclick="change_value('quest1', this.value);" value="Ans1"> 
        <input type='button' class="myButton3" onclick="change_value('quest1', this.value);" value="Ans2"> 
        <input type='button' class="myButton4" onclick="change_value('quest1', this.value);" value="Ans3"> 
        <input type='button' class="myButton5" onclick="change_value('quest1', this.value);"value="Ans4"> 
1
<fieldset> 
    <legend> 
     Question1 
    </legend> 
    <input type="button" name="foo" value="1st Ansswer"/> 
</fieldset> 

$Question= $_POST['foo']; 

Просто добавьте имя или идентификатор для каждой кнопки, значение которого вы хотите.

+0

Wait я хочу знать, какой ответ будет нажата. У меня вопрос с 5 возможных ответов. Я хочу знать, какой ответ пользователь нажал. – t3cho

+0

@ t3cho затем дать им все уникальные имена и иметь уникальные переменные PHP для каждой кнопки? –

+0

Да, но это не поможет мне. Извините, потому что я не очень хорошо объяснил. Представьте, что это так. У вас есть вопрос и 5 ответов. Ваш любимый цвет. button1 Blue button2 Красный button3 Зеленый ... Теперь, когда вы отвечаете на вопрос, я хочу получить результат. Как я могу узнать, какой ответ вы выберете? Я хочу сохранить его в $ YourAnswer – t3cho

0

Почему вы не можете использовать радиокнопки ??

<fieldset> <legend> Question1 </legend> 
    <input type="radio" name="radio_q1" value="1st Ansswer"/> 
    <input type="radio" name="radio_q1" value="2nd Ansswer"/> 
    <input type="radio" name="radio_q1" value="3rd Ansswer"/> 
    <input type="radio" name="radio_q1" value="4th Ansswer"/> 
    <input type="radio" name="radio_q1" value="5th Ansswer"/> 
</fieldset> 
<fieldset> <legend> Question2 </legend> 
    <input type="radio" name="radio_q2" value="1st Ansswer"/> 
    <input type="radio" name="radio_q2" value="2nd Ansswer"/> 
    <input type="radio" name="radio_q2" value="3rd Ansswer"/> 
    <input type="radio" name="radio_q2" value="4th Ansswer"/> 
    <input type="radio" name="radio_q2" value="5th Ansswer"/> 
</fieldset> 

<input type="submit" value="SUBMIT"> 

В противном случае другой путь был бы со скрытым текстовым полем и javscript/jquery. Как так ....

<form id='theForm' method='POST' action='wherever'> 
<input type='hidden' name='thequestion1' id='thequestion1'> 
</form> 

<button class='questionButton' data-answer='TheAnswer 1'>Answer 1</button> 
<button class='questionButton' data-answer='TheAnswer 2'>Answer 2 </button> 
<button class='questionButton' data-answer='TheAnswer 3'>Answer 3 </button> 
<button class='questionButton' data-answer='TheAnswer 4'>Answer 4 </button> 

Тогда ваш JQuery ..

$(document).ready,function(){ 

    $('.questionButton').click(function(e){ 
     e.preventDefault(); 
     var answer = $(this).data('answer'); 
     $('#thequestion1').val(answer); 
     $('#theForm').submit(); 
    }); 

}); 

А потом из этого, вы можете просто экстраполировать, как вы могли бы сделать несколько вопросов, хранить их в скрытых текстовых полей для каждого вопроса, затем отправьте форму в конце.

Смежные вопросы