单击后更改输入按钮的文本

时间:2017-01-14 00:41:00

标签: javascript jquery html

我有以下输入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
    });
}

4 个答案:

答案 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">