我想提交表单,以便刷新页面上的数据。如果我手动提交表单(空或不),这可以正常工作。如果文本框是 EMPTY ,我想自动提交表单 。如果此人输入,我不希望提交表单。但由于某种原因,这是行不通的。
我的表格:
<form action=thispage.php method="post" id="form">
<input type="text" name="message" placeholder="Type Your Message here" width="100" id="cm" onblur="refresh(this)">
<input type="submit" value="Send" id="snd">
</form>
我的JavaScript:
<script>
function refresh(field){
if (field.value==''){
document.getElementById('snd').click();
}
}
setInterval(refresh,1000);
</script>
以上代码未提交我的表单 AT ALL 。 所以我尝试了另一个选择:
JavaScript:
<script>
function refresh(){
//this time without any argument and no function handling in the input textbox
if (document.getElementById('cm').value=""){
document.getElementById('snd').click();
}
}
setInterval(refresh,1000);
</script>
但在这种情况下,即使用户 TYPING ,表单也会提交每 1秒,。
答案 0 :(得分:0)
使用条件==
或===
代替=
进行比较时遇到问题
<script>
function refresh(){
//this time without any argument and no function handling in the input textbox
if (document.getElementById('cm').value==""){
document.getElementById('snd').click();
}
}
setInterval(refresh,1000);
</script>
答案 1 :(得分:0)
我认为您的问题不正确。如果输入文本为空,那么为什么要提交。如果输入文本不为空,则应提交表单。 @Mrigank
<script type="text/javascript">
function refresh(obj){
var val = obj.value;
if (val.trim()!=""){
alert("Form is Submitted.");
document.getElementById('snd').click();
}
}
</script>
您可以在输入类型文本中添加自动聚焦属性,以便在刷新后,它会自动聚焦于文本字段。
<input type="text" name="message" placeholder="Type Your Message here" onblur="refresh(this)" autofocus>
用于演示结帐: Demo
答案 2 :(得分:0)
是的!第二个代码是做Job。只需将(.value =&#34;&#34;)修改为(.value ===&#34;&#34;)
function refresh() {
console.log(document.getElementById('cm').value)
console.log('refresh')
//this time without any argument and no function handling in the
input textbox
if (document.getElementById('cm').value === "") {
document.getElementById('snd').click();
}
}
setInterval(refresh, 1000);