簡體   English   中英

如何從javascript激活輸入類型=“提交”?

[英]How to activate a input type="submit" from javascript?

我有一個表單並且它工作正常(它是將項目的名稱和它的值保存在數據庫的表中),現在我在這個表單的視覺對象上,我想激活一個提交輸入,當另一個字段不為空。

提交輸入以屬性disabled="true" ,我創建了一個函數來使用 JS 激活它,我將向您展示我擁有的代碼的簡歷。

<html>
    <head>
        <script>
            function value(e) {
                if (window.event) {
                    keynum = e.keyCode;
                } else {
                    keynum = e.which;
                }
                if ((keynum > 47 && keynum < 58) || (keynum == 8) || (keynum 
                == 13) || (keynum == 46)) {
                    return true;
                } else {
                    return false;
                }
            }
        </script>
   </head>
   <body>
       <form>
           .
           .
           <input type="text" name="price" id="price" onkeypress="return 
              value(event);" onkeyup="activateBTN()" required>
           ... 
           <input type="submit" name="register" value="register" 
              id="btn_submit" disabled="true">
       </form>
   </body>
</html>

我不知道btn變量有什么問題,或者我應該使用其他屬性來代替disabled

知道代碼有什么問題嗎?

我建議您嘗試創建一個完整的示例。 了解如何幫助您會更容易。

無論如何,你真的很接近。 但是您應該將btn.disabled設置為false (而不是轉換為真實值的"false"

這里的工作示例:

 function activateBTN() { var aux = $('#price').val(); if (aux.length > 0) { $("#btn_submit").prop('disabled', false); } else { $("#btn_submit").prop('disabled', true); } }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" name="price" id="price" onkeyup="activateBTN()" required> <button disabled id="btn_submit"> submit </button>
編輯 1:

或者,由於您無論如何都使用 jquerry,您可以用以下內容替換您的 javascript:

 function activateBTN() { var aux = $('#price').val(); if (aux.length > 0) { $("#btn_submit").prop('disabled', false); } else { $("#btn_submit").prop('disabled', true); } }

編輯 2: 或使用 javascript 的 @esqew 選項:D

@Berci 的回答絕對滿足您的要求,但您也可以在此上下文中使用Element.setAttribute()Element.removeAttribute()從 DOM 添加/刪除disabled屬性:

 function activateBTN() { var aux = $('#price').val(); var btn = document.getElementById('btn_submit'); if (aux.length > 0) { btn.removeAttribute('disabled'); } else { btn.setAttribute('disabled', ''); } }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="text" name="price" id="price" onkeyup="activateBTN()" required> <button disabled id="btn_submit"> submit </button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM