0

我的页面中有多个表单,根据隐藏的输入值,调用不同的部分。

现在我的问题是,我的一个表单中有 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     { }
}
4

2 回答 2

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 匹配。

于 2012-05-19T16:08:15.670 回答
1

您的 onclick 事件的代码可以在确认时执行此操作,而不仅仅是提交表单。如果你使用 jQuery:

if(confirm('Are you user you want to add this user?')){
    $("input[name=target]").val('Generate password');
    submit();
}

另一个输入按钮的那个应该非常相似。

您也有可能知道按下了哪个按钮以另一种方式提交表单。如果我没记错的话,在 PHP 中,至少按钮的名称是在 _REQUEST 变量中传递的。

于 2012-05-19T16:09:15.403 回答