我的页面中有多个表单,根据隐藏的输入值,会调用不同的部分。
现在我的问题是,我的一个表单中有2个输入按钮,根据我点击的按钮,我需要发送相应的隐藏输入类型,
例如,以下表格。 如果我点击生成密码按钮, 我希望目标值(隐藏输入字段的值)为generate_password
如果我点击锁定密码,我希望目标值为user_locked。这是我的代码。
puts "<input type=\"hidden\" name=\"target\" value=\"user_locked\">"
puts "<tr><td colspan='4'> New User request Review</td></tr>"
puts "<tr><td><label for=\"full_name\"> Full Name </label></td>"
puts "<td><input type=\"text\" value =\"$name\" name =\"full_name\" readonly=\"readonly\"></td>"
puts "<tr><td><input type=\"button\" value=\"Generate Password\" onclick=\"if(confirm('Are you user you want to add this user?')){submit()};\"></td>"
puts "<td><input type=\"button\" value=\"Lock User\" onclick=\"if(confirm('Are you user you want to add this user?')){submit()};\"></tr>"
基本上我根据隐藏的字段调用不同的函数,
set target ""; catch { set target $CGI_DATA(target) }
switch $target {
"confirm" { set id [UpdateUserData $id] }
"user_locked { DeleteUser $id }
"user_confirmed" { NewUserConfirmed}
"newuser" { NewUserReview }
default { }
}
答案 0 :(得分:1)
在HTML中:
<input type="hidden" id="target" name="target" value="user_locked">
...
<input type="button" value="Generate Password" id="generate_button"/>
<input type="button" value="Lock User" id="lock_user"/>
在JS(jQuery)中:
$("#generate_password,#lock_user").click(function(){
("#target").val($(this).attr("id"));
$("form.myform").submit();
});
您可以更改这些元素的ID和类,但要确保JS和HTML匹配。
答案 1 :(得分:1)
您的onclick事件的代码可以在确认时执行,而不是仅仅提交表单。如果你使用jQuery:
if(confirm('Are you user you want to add this user?')){
$("input[name=target]").val('Generate password');
submit();
}
另一个输入按钮的那个应该非常相似。
您也可以通过某种方式了解按下哪个按钮以另一种方式提交表单。如果我没记错的话,在PHP中至少会在_REQUEST变量中传递按钮的名称。