【问题标题】:change attribute of a button to submit更改要提交的按钮的属性
【发布时间】:2011-01-30 06:58:47
【问题描述】:

请帮助我找到如何更改按钮的属性以在按下按钮时使用 JQuery 提交。

例如,当我按下一个值为“OK”的按钮时,它应该变为输入“submit”,值变为“Save”

【问题讨论】:

    标签: jquery forms button attributes submit


    【解决方案1】:

    你可以这样做:

    $('button[value="OK"]').click(function(){
       $(this).attr({
         type:'submit',
         value: 'Save'
       });
    });
    

    但是,这不是一个好的做法。您可以直接使用提交,也可以创建一个新的提交按钮而不是更改类型,因为浏览器的行为方式可能与您预期的不同。

    【讨论】:

    • 刚刚意识到我的错误并删除了我的答案。我会投票给你,但我当天没有选票。
    • 关于这不是一个好习惯的好点。我想知道他为什么首先要改变类型。奇怪...
    • @jmort253: 是的,我已经提出了更好的替代方案,其余的取决于 OP :)
    • 另一种选择是使用隐藏提交,然后隐藏 OK BUTTON 并在用户单击 OK 时显示 SUBMIT... 还有一个注意事项 - 如果可能,使用选择器的 ID,如 $( 'button[value="OK"]') 可能非常浪费(性能方面) - 所以使用 $('#button_id').click(..,)
    • @Smejko:没错,辜负了 OP 在他的问题中使用的内容 :)
    【解决方案2】:

    ================================================ ========================

    javascript:

      function btn_onclick(){
    
          var btn=document.getElementById(button_id');
    
          btn.setAttribute('type', 'submit');
          btn.setAttribute('value', 'save');
    
      }
    

    ================================================ ========================

    jQuery:

     function btn_onclick(){
    
          $('#' + button_id).prop('type', 'submit');
          $('#' + button_id).html('Save');
    
       }
    

    ================================================ ========================

    【讨论】:

      【解决方案3】:

      来自stackoverflow中另一个非常好的答案:

      使用javascript:

       document.getElementsById("OK")[0].type = "button";
      

      使用 jQuery:

       $("input[id='OK']").prop("type", "button");
      

      你不能在 Explorer 8 和下面更改按钮的类型。

      问候!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-03
        相关资源
        最近更新 更多