2014-01-08 3 views
0

У меня есть форма, которая имеет 5 кнопок отправки какMulti-кнопки отправки на одной форме с AJAX

<form action="pages/test.php" method="post" name="form1 "onsubmit="ajaxrequest('pages/test.php', 'resp'); return false;"> 
    <input type="hidden" name="Id" id ="Id" value=<?php echo "{$Id}"; ?> /> 
    <input type="submit" name="Value" value="0.01" /> 
    <input type="submit" name="Value" value="0.02" /> 
    <input type="submit" name="Value" value="0.03" /> 
    <input type="submit" name="Value" value="0.04" /> 
    <input type="submit" name="Value" value="0.05" /> 
</form> 

<div id="resp">Here will be displayed the server response.</div><br /> 

перерабатывающее Ajax для этого:

function get_XmlHttp() { 
    var xmlHttp = null; 

    if (window.XMLHttpRequest) { 
     xmlHttp = new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    return xmlHttp; 
} 

// sends data to a php file, via POST, and displays the received answer 
function ajaxrequest(php_file, tagID) { 
    var request = get_XmlHttp(); 
    var Id = document.getElementById('Id').value; 
    var Value = document.getElementById('Value').value; 

    // create pairs index=value with data that must be sent to server 
    var the_data = 'Id='+Id+'&Value='+Value; 

    request.open("POST", php_file, true); 

    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    request.send(the_data); 
    request.onreadystatechange = function() { 
     if (request.readyState == 4) { 
      document.getElementById(tagID).innerHTML = request.responseText; 
     } 
    } 
} 

test.php является:
$Id = strip_tags($_POST['Id']); $Value = strip_tags($_POST['Value']); echo "{$Id}, {$Value}";

Проблема в том, что при нажатии на любое значение в форме отображается только первое значение. Как я могу распознать все разные значения отправки?

ответ

0

При публикации только последнее значение с таким же именем будет изменено. См. Это сообщение on using multiple name elements

Что вы ищете, так это where you have multiple button names.

Если вам нужно перебрать их, дать им предсказуемые имена затем перебрать имена, как:

Submit1 
Submit2 
Submit3 

EDIT:

Вы получаете элемент, getElementByID('Value')

Это позволит получить первый элемент с идентификационным значением.

Это может быть хорошим способом пойти here

+0

Спасибо за ответ. Я могу назвать их submit1, submit2 и т. Д., Но не уверен, как закодировать его в Ajax – user3173763

+0

. Все решенные теперь используемые jquery – user3173763

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