2015-06-10 3 views
0

У меня есть форма с двумя кнопками отправки, в коде позади я получил значения от каждого submit, но проблема в том, что я добавляю событие javascript onclick на каждый submit, когда я попытайтесь получить значения в PHP, я ничего не получаю. Я получаю значения ввода, только когда я не использую событие.php - одна форма, несколько отправлений с событием onclick

Я не получаю вход представить значения из этого кода:

<input type="submit" id="send1" value="Send1" name="sub1" onclick="validate1();"/> 
<input type="submit" id="send2" value="Send2" name="sub2" onclick="return validate2();"/> 

Это один работает:

<input type="submit" id="send1" value="Send1" name="sub1" /> 
<input type="submit" id="send2" value="Send2" name="sub2" /> 
+3

также вы можете указать свой код javascript также –

+4

Пожалуйста, покажите код JavaScript. Проверьте вывод консоли JavaScript. – Richard

+0

Очень просто. Validate1 просто отключит кнопку отправки и изменит ярлык кнопки. Validate2 проверяет, пусто ли какое-либо из моих полей и также отключить кнопку отправки. – heliosk

ответ

0

я найти решение. Если значение отключенной кнопки не может быть опубликовано, я просто добавляю скрытое поле с некоторым значением, определяющим нажатие кнопки отправки.

<input type="hidden" id="my_post_value" name="my_post_value"/> 
+0

Это было решение, которое я написал выше, вы должны, по крайней мере, отдать должное! ;) – Saeven

1

Вот быстрая настройка, чтобы сделать то, что вы хотите https://jsfiddle.net/d090618g/

Ваш HTML

<form id="theform"> 

    <input type="submit" name="s1" /> 
    <input type="submit" name="s2" /> 

    <input type="hidden" name="clicked" id="clicked" /> 

</form>  

<div id="result"></div> 

Быстрый JQuery

var $form = $("#theform"); 
var $clicked = $("#clicked"); 

$form.find("input[type='submit']").click(function(){ 
    $clicked.val($(this).attr('name')); 
}); 

$form.submit(function(e){ 
    e.preventDefault(); 

    switch($clicked.val()){ 

     case 's1': 
      alert("Do thing 1"); 
      return; 

     case 's2': 
      alert("Do thing 2"); 
      return; 
    } 

    //post your form to PHP here   

    $("#result").html($clicked.val()); 

}); 
+0

Немного объяснений было бы полезно. В чем была проблема и каково ваше решение? – showdev

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