JavaScript-JQuery:onSubmit和.submit()之间的区别

时间:2015-10-18 13:03:52

标签: javascript jquery

几天后,我遇到了javascript进程的问题。 事实上,在一个页面中,用户可以添加和删除"技能"。这个过程是用Javascript实现的。

因此,当用户使用此表单确认对技能的压制时:

<form onsubmit="return submitFormsupprCompetence(this,'skill');" method="POST">
    ...
    <input name="confirmSupprCompetence" id="confirmSupprSkill" type="submit" value="Confirm">
</form>

功能&#39; submitFormSupprCompetence(形式,技能)&#39;被称为:

function supprCompetence_mafiche(form_serialize,skill){
    var data = {
          "formulaire": form_serialize,
          "skill": skill,
    };

    $.ajax({
        'type' : 'POST',
        'dataType' : 'json',
        'url' : "/supprSkill",
        'data': data,

        success: function(json){
                // I detach the div of skill :
                $("#skill").detach();       
                // I load the div containing all div (id='theskills') of skill      
                $('#theskills').load(document.URL +  ' #theskills');             
        },
        error:function(data){
            alert("Error in Suppression");
        }
}); 

return false;
}

所以抑制效果 但是在抑制之后,用户无法在不刷新页面的情况下添加技能。我使用它的情况就是这样:

<form id="formAddSkill" method="POST">

$(document).ready(function() {
    $("#formAddSkill").submit(function(evt) {
        evt.preventDefault();
        addSkill();
        return false;
    });
});

但是,当我在“提交”中直接调用添加功能时,抑制后的添加就会起作用。 :

<form onsubmit="addSkill();return false;" id="formAddSkill" method="POST">

快速添加功能&#39; addSkill()&#39;是:

function addSkill(){    
    var data = {
          "skill": "skill_lambda",
        };

    $.ajax({
      'type' : 'POST',
      'dataType' : 'json',
      'url' : "/addSkill",
      'data': data,

      success: function(json){  
         // I load the div containing all div (id='theskills') of skill like in suppression form :  
        $('#theskills').load(document.URL +  ' #theskills');       
        },
      error:function(data){
        alert("Error in adding...");
        }
    }); 
}         
return false;
}

那么,为什么当我使用 onsubmit=... 而不是在我使用JQuery函数时 $(document).ready(function(){ $("#formAddSkill").submit(function(evt)...

0 个答案:

没有答案