【问题标题】:changing value of hidden input fields depending on submit button根据提交按钮更改隐藏输入字段的值
【发布时间】:2012-05-20 00:09:15
【问题描述】:

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

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

【问题讨论】:

  • 请给出输出(html),而不是生成它的代码……这样会更容易弄清楚。
  • 我在我的问题中添加了一些东西。对于这个应用程序,我更喜欢 javascript 而不是 jquery。我可能遇到的问题是,我已经在该页面中使用了很多 EXTJS 框架,并且根据我将 jquery 与它混合的经验,它会产生问题。但我不介意尝试 jquery 解决方案

标签: javascript html tcl


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-10-21
      • 2023-03-26
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多