插入和按钮禁用放在一起

时间:2014-11-03 10:25:02

标签: javascript jquery ajax

我有一个表的嵌套记录,我使用ajax插入到数据库的不同表中,当我点击某个特定按钮时,值会更改为已发送的数据,依此类推下行按钮。我使用两个完美运行的脚本执行此操作,一个插入数据而不刷新,另一个在单击时禁用特定按钮并将值更改为发送的数据。现在我想把它们放在一起,这样它就变成了一个。

插入

$(document).ready(function(){
    $("form").on('submit',function(event){ 
        event.preventDefault();

        data = $(this).serialize();

        $.ajax({
        type: "POST",
        url: "calls/insert_fryd.asp",
        data: data
        }).success(function() {

禁用按钮

$(function(){
 $(".btn-style").click(function(){
    $(this).val('data sent');
    $(this).attr('disabled', true);
  });
});

1 个答案:

答案 0 :(得分:1)

$(function(){});只是$(document).ready(function(){});

的快捷方式

只需将两段代码放在一个DOM就绪处理程序中。 e.g。

$(function () {

    $("form").on('submit', function (event) {
        event.preventDefault();

        data = $(this).serialize();

        $.ajax({
            type: "POST",
            url: "calls/insert_fryd.asp",
            data: data
        }).success(function () {});
    });

    $(".btn-style").click(function () {
        $(this).val('data sent');
        $(this).attr('disabled', true);
    });

});

假设" .btn-style"匹配您的提交按钮,您可以将其简化为:

$(function () {

    $("form").on('submit', function (event) {
        event.preventDefault();

        // Disable submit button on this specific form
        $('.btn-style', this).val('data sent').prop('disabled', true);

        data = $(this).serialize();

        $.ajax({
            type: "POST",
            url: "calls/insert_fryd.asp",
            data: data
        }).success(function () {
        });
    });
});

发现的后续问题(无法在Chrome中运行)归结为disabled通过attr。对于真正的属性(例如checkeddisabled),请始终使用prop代替attr