如何知道在表单中单击了哪个命令按钮

时间:2019-02-15 14:24:00

标签: html asp-classic

我有一个包含3个命令按钮的表单。我想知道单击了哪个命令按钮并将其值存储在会话变量中 怎么做。

我在会话变量中得到空值

<form method="post" name = "theform" >
  <table>
    <tr>
         <td align="left" width="100%">
             <input type="submit" name = "button" id ="idbutton1" value="Value1">      
              </td>
         <td align="left" width="100%">
             <input type="submit" name = "button" id ="idbutton2" value="Value2">
              </td>

        <td align="left" width="100%">
             <input type="submit" name = "button" id ="idbutton3" value="Value3">
              </td>
       </tr>
</table>
</form>

Session("type")=Request.Form("button") 

2 个答案:

答案 0 :(得分:0)

在将Request.Form("button")分配给会话变量之前,您需要检查其中是否包含一个值,否则,每次页面加载时,您都将为Session("type")分配一个空字符串值。

if request.form("button") <> "" then Session("type") = Request.Form("button")

答案 1 :(得分:0)

您可以使用此jquery来确定单击的按钮以及该按钮的值:

$( "#idbutton1" ).click(function() {
alert( $("#idbutton1").val() );
});


$( "#idbutton2" ).click(function() {
 alert( $("#idbutton2").val() );
});

...

您可以将其保存在会话中,而不是发出警报。

*但是此方法不是动态的,对于太多的按钮来说效果不佳

已编辑:常规模式:

您通常可以这样获得ID和值:

$( "input[name=button]" ).click(function() {
 alert( $(this).attr("id") );
 alert($(this).val());
 button_value = $(this).val();
});

,如果您在后端使用c#或Django或其他任何东西,则可以使用ajax将变量发送给它,然后将其保存到会话中:

.ajax({         类型:“ GET”,         网址:“ / yourfunction”,         数据:{'button_value':button_value},         dataType:“ json”,

    success: function (data) {
    // do anything
    }
  )}

您可以在函数中获取变量并将其保存在Session中。