Way*_*yne 0 html javascript jquery
<html>
<form class="form-disable">
<br>
<input type="text" id="message2">
<br>
<button id="myButton" type="submit" onclick="text()"disabled>Generate Text</button>
</form>
</html>
<script>
// $("html").click(function(event){
// $("#myButton").attr("disabled", "disabled");
// event.preventDefault();
// })
function text(){
let $box = $('#message2').val();
alert($box);
}
$("#message2").click(function(){
$("#myButton").removeAttr("disabled");
// event.preventDefault();
})
</script>
Run Code Online (Sandbox Code Playgroud)
我试过使用带有警报的注释掉功能,它似乎在我点击屏幕上的任何地方时都会出现警报。所以,我担心我的问题是当我单击文本输入字段时,注释掉的函数也会添加禁用属性。当该功能被注释掉时,提交按钮将被禁用,直到我单击输入字段,但是一旦用户单击输入框/字段,我无法弄清楚如何禁用该按钮。
为什么不直接检测blur事件,当有问题的元素失去焦点(即有人点击它之外)时会发生这种情况。也使用.prop而不是.attr
$("#message2").blur(function(){
if ($(this).val() =='') {
$("#myButton").prop( "disabled", true );
} else {
$("#myButton").prop( "disabled", false );
}
})
Run Code Online (Sandbox Code Playgroud)