天天看點

jQuery validation 與 tinyMCE相容

<script type="text/javascript" src="../../lib/jquery.js"></script>

<script type="text/javascript" src="../../jquery.validate.js"></script>

<script type="text/javascript" src="tiny_mce.js"></script>

<script type="text/javascript">

tinyMCE.init({

mode : "textareas",

theme : "simple",

// update validation status on change

onchange_callback: function(editor) {

tinyMCE.triggerSave();

$("#" + editor.id).valid();

}

});

$(function() {

var validator = $("#myform").submit(function() {

// update underlying textarea before submit validation

tinyMCE.triggerSave();

}).validate({

rules: {

title: "required",

content: "required"

},

errorPlacement: function(label, element) {

// position error label after generated textarea

if (element.is("textarea")) {

label.insertAfter(element.next());

} else {

label.insertAfter(element)

}

}

});

validator.focusInvalid = function() {

// put focus on tinymce on submit validation

if( this.settings.focusInvalid ) {

try {

var toFocus = $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []);

if (toFocus.is("textarea")) {

tinyMCE.get(toFocus.attr("id")).focus();

} else {

toFocus.filter(":visible").focus();

}

} catch(e) {

// ignore IE throwing errors when focusing hidden elements

}

}

}

})

</script>