我正在使用一个函数,该函数将通过 ajax 提交,而无需单击按钮。但我目前正在经历两个问题,经过反复试验还没有找到合理的解决方案:
首先,有什么方法可以禁用输入按钮点击(这会导致整个页面刷新)?
JSFIDDLE JS 函数如何工作的基本示例
其次,感觉我正在迂回地显示已发布的内容。如何更改这部分功能 $('#special').html('<p>' + $('#resultval', result).html() + '</p>');
让它在一个名为 #special
的 div 中发布不需要 span or <p> #resultval
?
每次我通过 php 回显时,我都必须像这样设置它以显示结果:<div id="special"><span id="resultval">This is the result.</span></div>
<script>
$(document).ready(function() {
var timer = null;
var dataString;
function submitForm(){
$.ajax({ type: "POST",
url: "posting.php",
data: dataString,
success: function(result){
$('#special').html('<p>' + $('#resultval', result).html() + '</p>');
}
});
return false;
}
$('#ytinput').on('keyup', function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 050);
var name = $("#ytinput").val();
dataString = 'name='+ name;
});
});
</script>
最佳答案
$(document).ready(function() {
var timer = null;
var dataString;
function submitForm(event){// the function call on click or on submit onclick=submitForm(event);
event.preventDefault(); //to prevent enter key
$.ajax({ type: "POST",
url: "posting.php",
data: dataString,
success: function(result){
$('#special').text(result); //you can use text() or html() only
}
});
return false;
}
$('#ytinput').on('keyup', function() {
clearTimeout(timer);
timer = setTimeout(submitForm, 050);
var name = $("#ytinput").val();
dataString = 'name='+ name;
});
});
关于javascript - JS/AJAX 自动提交表单 : Disabling enter key to prevent page refresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11515989/