Yiiでこれを行う方法を考えています。
送信時に検証できるようにしたいフォームがあります。フォームに検証エラーがある場合は、通常のフォームの概要が表示されますが、フォームが検証された場合は、コントローラーからデータを受け取り、それをページに挿入して、フォームをリセットします。
私はこれまでこのコードを思いついた。
$('#node-window form').submit(function(){
var $form = $(this);
$.ajax({
type : 'POST',
url : $form.attr('action'),
data : $form.serialize(),
dataType : 'json',
success : function(data) {
if(data.status=='error') {
// Renders the validation summary
$('#node-window').html(data.form);
} else {
// No errors, so inject the data.
}
}
});
return false;
});
これは実際には機能しますが、フォームにエラーがある場合はエラーの概要が表示され、2回目に「送信」を押すと、「送信」イベントは当然インターセプトされません。
Yiiでこれをより簡単/よりスマートにする方法が必要ですか?