我有以下输入HTML标记
<input type="submit" id="submitForm" value="Submit" class="btn btn-primary start" autocomplete="off" onclick="submitForm();" />
当我点击提交按钮时,它会转到相关的JavaScript文件并执行函数submitForm();
我想将提交表单的文本更改为“请稍候...”,直到功能完成。
有没有办法可以做到这一点?
这就是submitForm()函数的样子:
function submitForm() {
$("#submitForm").val("Please wait...");
if (formValidation() === true) {
submitFormInfo().done(function () {
$("#submitForm").val("Submit");
});
}
}
function submitFormInfo() {
return $.ajax({
cache: false,
url: "URLHERE"
error: function (xhr) {
},
success: function (result) {
},
async: false,
processData: false
});
}
答案 0 :(得分:0)
您可以使用jquery,请参阅: -
https://jsfiddle.net/swawrm1g/3/
我已删除: -
onclick="submitForm();"
并补充说: -
$('#submitForm').click(function(){
$(this).val('Please Wait...');
submitForm()
});
function submitForm() {
alert('Form submitted');
};
答案 1 :(得分:0)
您是否在submitform()中进行了异步操作? 如果是,那么你可以使用以下行
$("#submitForm").val("Please Wait");
答案 2 :(得分:0)
在ajax调用中使用beforeSend
选项,因此在submitForm()
函数中,您可以执行以下操作:
function submitForm() {
var submitForm = $("#submitForm");
if (formValidation() === true) {
$.ajax({
cache: false,
url: "URLHERE",
async: false,
type: 'post',
data: { somedata: 'here' },
beforeSend: function (){
submitForm.val("Please wait...").attr("disabled", "disabled");
},
success: function (data){
// do something
},
error: function (){
// do something
},
complete: function () {
// regardless of the response status (success/error)
// the codes below will be executed.
submitForm.val("Submit").removeAttr("disabled");
}
});
}
}
答案 3 :(得分:0)
简单的javascript足以做到这一点..
<script>
function submitForm(){
document.getElementById('submitForm').value="Please wait..";
}
</script>
<input type="submit" id="submitForm" onclick="submitForm()" value="Submit">