我通过ajax和jquery提交表单:
$("#FormSubmitTexte").click(function (e) {
e.preventDefault();
var form_texte_texte = tinyMCE.triggerSave();
if($("#form_titre_texte").val()==="") //simple validation
{
$("#dialog").html(messages.saisir_titre);
$("#dialog").attr('title',messages.erreur);
$( "#dialog" ).dialog({
buttons: {
"Ok": function() {
$( this ).dialog( "close" );
}},
show: {effect: 'puff', duration: 100},
hide: {effect: 'puff', duration: 100}
});
return false;
}
if ($("#form_tags_texte").val() != "") {
var matches = $("#form_tags_texte").val().match(/^[\w -ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ,]+$/);
if (matches) {
}else{
$("#dialog").html(messages.tags_car);
$("#dialog").attr('title',messages.erreur);
$( "#dialog" ).dialog({
buttons: {
"Ok": function() {
$( this ).dialog( "close" );
}},
show: {effect: 'puff', duration: 100},
hide: {effect: 'puff', duration: 100}
});
return false;
}
var tableau_tags = $("#form_tags_texte").val().split(',');
$.each(tableau_tags, function(index, chunk) {
var taille = chunk.length;
if (taille > 20) {
$("#dialog").html(messages.tags_taille);
$("#dialog").attr('title',messages.erreur);
$( "#dialog" ).dialog({
buttons: {
"Ok": function() {
$( this ).dialog( "close" );
}},
show: {effect: 'puff', duration: 100},
hide: {effect: 'puff', duration: 100}
});
return false;
}
});
}
var myData = {titre : $("#form_titre_texte").val(), billet : $("#form_texte_texte").val(), tags_texte : $("#form_tags_texte").val()}
var tinymce_editor_id = 'form_texte_texte';
jQuery.ajax({
type: "POST", // HTTP method POST or GET
url: "texte", //Where to make Ajax calls
dataType:"text", // Data type, HTML, json etc.
data:myData, //post variables
success:function(response){
$("#responds").before(response);
$("#form_titre_texte").val('');
$("#form_tags_texte").val('');
tinymce.get(tinymce_editor_id).setContent('');
//$.getScript("include/ajax_save_billets.js");
},
error:function (xhr, ajaxOptions, thrownError){
alert(thrownError); //throw any errors
}
});
当返回false时,所有控件都正常工作,除了检查元素大小的那个(if(taille> 20)); 我不明白为什么......你能在这段代码中看到错误吗? 感谢
答案 0 :(得分:0)
每个函数返回False ......你需要把返回false放在
之外var isValid=true;
$.each(tableau_tags, function(index, chunk) {
if (taille > 20) {
//do something
isValid=false;
}
}
if(!isValid)
{
return isValid
}
类似的东西会起作用