【问题标题】:Change value of input when input type=submit输入类型=提交时更改输入值
【发布时间】:2016-02-29 12:27:22
【问题描述】:

我有如下输入:

    <input class="submit" type="submit" name="submit" value="Blah">

我想将值更改为“其他文本”。 当我使用 .val()、attr() 或 .prop() jQuery 方法时,值会发生变化,但是当我提交时,输入不再起作用。只是刷新页面而不做它应该做的事情。

与 .setAttribute 方法的结果相同。

现在值已更改,如何让输入正常工作?

【问题讨论】:

  • 您想在提交后更改value
  • 输入类型提交的默认行为是提交表单。如果你想禁用提交使用$('form').submit(function() { return false; })
  • 服务器端脚本可能会在处理输入之前检查提交按钮的值
  • 表单的默认行为是提交数据,如果你不想提交,你需要告诉它不要提交。如果您在提交时触发的函数中使用event.preventDefault();,这将删除默认的发布行为。
  • @jiff 想要更改值然后提交

标签: javascript jquery html input


【解决方案1】:

试试这个

<input type=button name="b1" value="Submit" onclick="javascript:document.MyForm.b1.value='Done'">

来源:Change text on submit button after submission

【讨论】:

    【解决方案2】:

    检查一下

    $(document).ready(function(){
        $(".submit").click(function(){
        	$(this).val("OtherText");
        });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input class="submit" type="submit" name="submit" value="Blah">

    【讨论】:

      【解决方案3】:

      我相信是服务器端脚本正在检查该值,因此必须在单击时将值改回。

      if ($('.submit').length > 0) {
          $('.submit').prop('value', 'Other Text');
          $('.submit').click(function(){
          $('.submit').prop('value', 'blah'); 
          });}
      

      现在这似乎工作正常。不理想但有效

      【讨论】:

        【解决方案4】:

        您可以阻止提交表单或按钮的点击事件:

        $(".submit").click(function(e){
            e.preventDefault();
            $("#inputbox").val("OtherText");
            //Now you can submit form manually here
            $("#form").submit();
        });
        

        【讨论】:

        • 第二段代码会造成无限循环,因为调用 submit() 会执行事件和回调,
        猜你喜欢
        • 1970-01-01
        • 2016-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-10
        • 1970-01-01
        相关资源
        最近更新 更多