Как получить значение из элемента формы type = "button" - PullRequest
0 голосов
/ 06 декабря 2010

У меня есть следующий код в форме

<input type="button" name="nameofbutton" value="VALUE 1" onclick="javascript:if (confirm('Are you sure?')) {someSubmitFunction();}"/> 
<input type="button" name="nameofbutton" value="VALUE 2" onclick="javascript:if (confirm('Are you sure??')) {someSubmitFunction();}"/> 

Когда форма отправлена, в классическом ASP я пытаюсь использовать Request.Form("nameofbutton"), но не получаю значения. Может ли кто-нибудь объяснить, почему? если я изменяю ее на кнопку типа «отправить», она работает, но это означает, что форма отправляется дважды.

Спасибо

Ответы [ 2 ]

2 голосов
/ 06 декабря 2010

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

<input type="submit" ... onclick="return confirm('Are you sure?');" />

, если onclick кнопки отправки (или, что еще лучше, onsubmit формы) возвращает false, то отправкаотменен.

0 голосов
/ 07 декабря 2010

@ Януш Ясинский: Это работает для меня; вы заметите, что я намеренно сделал содержимое кнопок what ever, когда вы отправляете форму, будет показано содержимое атрибута value. Сохраните код и протестируйте его для себя, это рабочий пример.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>

<body>

<%
If UCase(Request.ServerVariables("REQUEST_METHOD")) = "POST" Then
    Response.Write "<p>nameofbutton: " & Request.Form("nameofbutton") & "</p>"
End If
%>

<form action="4367350.asp" method="post">
    <div>
        <button name="nameofbutton" value="VALUE 1" onclick="if (confirm('Are you sure?')) { this.form.submit(); } else { return false; }">what ever 1</button>
        <button name="nameofbutton" value="VALUE 2" onclick="if (confirm('Are you sure?')) { this.form.submit(); } else { return false; }">what ever 2</button>
    </div>
</form>

</body>
</html>
...