2013-02-08 3 views
0

Существует HTML кодКакая кнопка была нажата без использования Javascript?

<form> 
    <button type="submit" name="button-name" value="btn1">button1</button> 
    <button type="submit" name="button-name" value="btn2">button2</button> 
</form> 

Есть ли способ, чтобы определить, какая кнопка была нажата на стороне сервера? Я бы не хотел использовать javascript, а не заменять их input.

Это забавно, но у меня есть nil в params["button-name"]

+4

изменить имя атрибута? –

+0

Вы можете просто проверить значение имени кнопки на сервере. Если его значение равно btn1, вы нажмете кнопку один. – winglerw28

+0

Это смешно, но у меня есть nil in params ["button-name"]. –

ответ

1

Это будет работать, если вам работают с PHP на стороне сервера.

if(isset($_GET['button-name'])) 
    echo $_GET['button-name']; 
+0

Только если OP использует PHP. Вышеуказанное не будет компилироваться с помощью ASP.NET. – Oded

1

Вы должны быть в состоянии проверить значение параметра button-name на стороне сервера, чтобы определить, какая кнопка была нажата. В приличных браузерах это будет значение атрибута value, но в IE вы получите внутренний html каждой кнопки.

Так, например, если я нажал первую кнопку и с помощью Java на стороне сервера:

В IE

String param = reqeust.getParameter("button-name"); 
System.out.println(param); // Prints button1 

В Firefox

String param = reqeust.getParameter("button-name"); 
System.out.println(param); // Prints btn1 
1

Если вы должны были использовать PHP, это будет работать (если вы используете GET вместо POST):

если ((Исеть ($ _ GET [ 'кнопочного имени'])) & & ([ 'кнопки имя'] === 'btn1' || [ 'имя кнопки'] $ _GET $ _GET === 'btn2')) {

}

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