需要html文本框,应禁用相同的文本框

时间:2017-11-21 09:20:08

标签: javascript jquery html

我正在创建用户表单,其中主页访问完成textbox阻止用户直接输入数据(文本框输入自动来自另一个表单),

<input type="text" name="hvstatus" value="<?= isset($_POST['enqnumbr']) ? htmlspecialchars($hvdone) : '' ?>">

当用户点击提交按钮时,如果文本框的值为空,则应该需要完成访问textbox

请帮忙

2 个答案:

答案 0 :(得分:0)

根据规范,必须禁用或只读必填字段。这只是标记所需字段和使用JavaScript以防止用户键入/粘贴任何内容的组合:

HTML:

<form action="index.php" method=post>
  <input required type="text" name="hvstatus" value="">
  <input type="submit" value="save">
</form>

使用Javascript:

function makeReadOnly(e) {
  e.preventDefault();
}
var input = document.querySelectorAll('[name=hvstatus]')[0];
input.addEventListener('paste', makeReadOnly);
input.addEventListener("keypress", makeReadOnly);

Fiddle.

答案 1 :(得分:0)

谢谢大家,

为了防止我的用户将readonly文本框保存为空值,如果readonly文本框的值为空,我创建了我的提交按钮。使用jQuery。

<p>Home Visit Done: 
<input type="text" id="message" name="hvstatus" value="<?= isset($_POST['enqnumbr']) ? htmlspecialchars($hvdone) : '' ?>" id="message" readonly>

<input type="submit" id="sendButton" value="save" style="width: 182px; height: 35px; font-size: 20px; background-color: green; color: white;">

jQuery代码:

<script>
    $(document).ready(function(){  

      var checkField;

      //checking the length of the value of message and assigning to a variable(checkField) on load
      checkField = $("input#message").val().length;  

      var enableDisableButton = function(){         
        if(checkField > 0){
          $('#sendButton').removeAttr("disabled");
        } 
        else {
          $('#sendButton').attr("disabled","disabled");
        }
      }        

      //calling enableDisableButton() function on load
      enableDisableButton();            

      $('input#message').keyup(function(){ 
        //checking the length of the value of message and assigning to the variable(checkField) on keyup
        checkField = $("input#message").val().length;
        //calling enableDisableButton() function on keyup
        enableDisableButton();
      });
    });
    </script>