2013-09-29 2 views
0

Можно ли получить ID кнопки? У меня накопились формы, и я хотел, чтобы кнопка нажата, используя уникальный идентификатор. Следующие сценарии я использовал:PHP get button ID

echo("<table><tr> 
    <td id=\"i\"><img src='presentations/uploaded_files/$name.png' alt='animal' width='50px' height='50px'/></td> 
    <td id=\"n\">$name</td> 
    <td id=\"d\">$dsc</td> 
    <td id=\"t\">$type</td> 
    <td id=\"g\">$grade</td> 
    <td id=\"b\"> 
    <form enctype=\"multipart/form-data\" action=\"admin_update_animal.php\" method=\"POST\"><input type=\"submit\" value=\"Update\" name=\"update\" id=\"$name\"/></form></td> 
</tr></table>"); 

Я использовал следующее при любой кнопки щелкнул:

if (isset($_POST['update'])) { 
$f=trim($_POST['update']); 
} 

Но я хотел бы получить какую кнопку нажал, используя его уникальный идентификатор, присвоенный. Я очень рад за помощь. Благодарю.

+0

PHP сделок с именем только –

+0

Вы можете сделать это только с помощью Javascript для хранения ID где-нибудь в скрытом поле с некоторым именем этого. Идентификатор не проходит через $ _POST. –

ответ

1

Вы не можете сразу прочитать идентификатора элемента управления, потому что имени передаются на стороне сервера скрипт с помощью любых методов . Вы можете использовать скрытые поля ввода, значение может быть ID. Это дает вам знать ID кнопки на стороне сервера. Это может быть сделано, как: -

<script type="text/javascript"> 
    function createField(id) 
    { 
     var x = document.getElementById("hide"); 
     var y = "<input type='hidden' name='iddetector' value='"+id+"'/>"; 
     x.innerHTML = y; 
     return; 
    } 
</script> 
//maintain other stuffs here and now 
<input type="submit" id="uniqueid" name="submit" value="submit"onClick="createField('uniqueid');return true;"/><br> 
<div id="hide"></div> 

You can detect the id of the button i the sever side as:- 
<?php 
    $idButton = isset($_POST['iddetector'])?$_POST['iddetector']:NULL; 
    echo "The id of the button clicked is ".$idButton; 
    ?> 
+0

Большое спасибо! Это действительно помогает :) –

0

То, что передается через POST, является name элемента управления, а не id. Чтобы захватить идентификатор, вам лучше использовать JavaScript перед отправкой.

Дело в том, что у вас может быть несколько элементов управления в разных местах страницы с тем же именем (но с разными идентификаторами), которые выполняют одну и ту же задачу (например, отправить).

+0

Благодарим вас за дополнительную информацию. :) –