我是JS的新手,面临一些看似简单的挑战.
我想做的是:
我写了下面的代码.对此提出任何建议将非常感激
HTML
<form action="#" method="post">
<input type="button" name="submit" value="Submit" class="submit_wide" id="myBtn" >
</form>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
$(".submit_wide").click(function () {
$(this).val('Please wait..');
$(this).attr('disabled', true);
setTimeout(function() {
$(this).attr('disabled', false);
$(this).val('Submit');
}, 2000);
});
Run Code Online (Sandbox Code Playgroud)
dav*_*ave 20
问题是在setTimeout()通话中,this没有参考按钮.您需要设置变量以保持对按钮的引用.
我在下面创建了一个示例.看看我如何使用名为的变量$this.
$(".submit_wide").click(function () {
var $this = $(this);
$this.val('Please wait..');
$this.attr('disabled', true);
setTimeout(function() {
$this.attr('disabled', false);
$this.val('Submit');
}, 2000);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="button" class="submit_wide" value="Submit"/>Run Code Online (Sandbox Code Playgroud)