我有一个包含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")
答案 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中。