【问题标题】:javascript change button value on confirmjavascript在确认时更改按钮值
【发布时间】:2013-10-19 05:33:55
【问题描述】:

我有这个 JS 代码:

$('#submit').click(function() {
    var res = confirm('You are about to add this Ticket Update with the following:\n\n' + $("textarea[name='ticket_update']").val() + '\n\n' + 'Time Start: ' + $("input[name='timestart_date']").val() + ' ' + $("input[name='timestart_time']").val() + '\n' + 'Time End: ' + $("input[name='timeend_date']").val() + ' ' + $("input[name='timeend_time']").val());
    if(!res) {
        return false;
    }
    else {
        document.getElementById("ticket_update").submit();
    }
});

显示一个带有表单提交数据的弹出框,如果单击“确定”,它将提交表单,否则取消并返回表单。

我希望能够做到这一点:如果在确认框上单击“确定”,则表单按钮将被禁用并且文本值将发生变化。然后表单将正常提交

【问题讨论】:

  • 我在这里看到$,我们可以假设 jQuery 吗?如果是这样,您可以将其另外标记为jQuery 吗?
  • 这确实是 JQuery 语法。
  • 谢谢 - 今天早上没想到 :)

标签: javascript jquery forms


【解决方案1】:
$('#submit').click(function(e) {
    var res = confirm('You are about to add this Ticket Update with the following:\n\n' + $("textarea[name='ticket_update']").val() + '\n\n' + 'Time Start: ' +   $("input[name='timestart_date']").val() + ' ' + $("input[name='timestart_time']").val() + '\n' + 'Time End: ' + $("input[name='timeend_date']").val() + ' ' +    $("input[name='timeend_time']").val());
    if(!res) {
        e.preventDefault();
    }
    else {
        $("#ticket_update").submit();
    }
});

【讨论】:

    【解决方案2】:

    这是一个小代码sn-p:

    http://jsfiddle.net/XE2f6/

    $('#submit').click(function() {
    var res = confirm('You are about to add this Ticket Update with the following:\n\n' + $("textarea[name='ticket_update']").val() + '\n\n' + 'Time Start: ' + $("input[name='timestart_date']").val() + ' ' + $("input[name='timestart_time']").val() + '\n' + 'Time End: ' + $("input[name='timeend_date']").val() + ' ' + $("input[name='timeend_time']").val());
    if(!res) {
        return false;
    }
    else {
        $("#submit").attr('disabled', 'disabled');
        $("#submit").val("Sending");
        $("#ticket_update").submit();
    }
    

    });

    $('#ticket_update').submit(function () { Confirm("把你提交的东西放在这里"); });

    1. 要求确认
    2. 禁用按钮
    3. 更改按钮值
    4. 在表单上触发提交事件
    5. 在表单上捕获触发的提交事件

    您的表单格式错误,您必须将双引号切换为单引号,将单引号切换为双引号。

    <form method="post" action="reviewtickets_history.php?seq=".$_GET['get']."&type=".$_GET['type']."#bo‌ttom" id="ticket_update">
    <input type="text" id="input" />
    <input type="submit" id="submit" value="Send!" /></form>
    

    【讨论】:

    • 这也不是提交表单
    • 检查 JS fiddle,它在那里提交。另外,从 JSFiddle 复制代码,似乎它没有将所有代码复制到 stackoverflow 中。
    • 第二个确认框是干什么用的 - 把你提交的东西放在这里
    • 表单仍未提交 -
      使用你的 jsFiddle 代码
    • 关于第二个确认框,用于检查是否触发了实际提交表单。由于您使用的是 PHP,我认为您不需要它。
    【解决方案3】:

    如果您使用的是Jquery1.6 或更高版本,请尝试此操作

    $('#submit').click(function() {
        var res = confirm('You are about to add this Ticket Update with the following:\n\n' + $("textarea[name='ticket_update']").val() + '\n\n' + 'Time Start: ' + $("input[name='timestart_date']").val() + ' ' + $("input[name='timestart_time']").val() + '\n' + 'Time End: ' + $("input[name='timeend_date']").val() + ' ' + $("input[name='timeend_time']").val());
        if(!res) {
            return false;
        }
        else {
            $("#submit").prop('disabled', true);
            $("#submit").val("my new button label");
            document.getElementById("ticket_update").submit();
        }
    });
    

    Prop Reference

    【讨论】:

      【解决方案4】:

      这是你的意思吗?

      $('#submit').click(function() {
          var res = confirm('You are about to add this Ticket Update with the following:\n\n' + $("textarea[name='ticket_update']").val() + '\n\n' + 'Time Start: ' + $("input[name='timestart_date']").val() + ' ' + $("input[name='timestart_time']").val() + '\n' + 'Time End: ' + $("input[name='timeend_date']").val() + ' ' + $("input[name='timeend_time']").val());
          if(!res) {
              return false;
          }
          else {
              $("#submit").attr('disabled','disabled');
              $("#submit").val("my new button label");
              document.getElementById("ticket_update").submit();
          }
      });
      

      如果没有,到目前为止您尝试过什么?

      【讨论】:

      • 如果是表单内的提交按钮需要防止默认停止页面刷新,看我的回答
      • 我已复制您的答案,但表格未提交
      • 任何想法为什么它不提交?
      • 也许将 submit() 的调用移到顶部,然后禁用按钮?
      【解决方案5】:
      document.getElementById("submit").setAttribute("disabled", "disabled");
      

      或者jquery

      $('#submit').click(function(e) {
        e.preventDefault();
        $('#submit').attr('disabled',true);
        //enter code here
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 2019-01-06
        • 1970-01-01
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        相关资源
        最近更新 更多