ajax送信直前に送ろうとしているformの値自体を操作しようと
したのだけど、うまく送れなかった。
おそらく、beforeが完了してから送信の処理が開始されるので
はなく、beforeと同時並行的に送信するデータ自体は取得して
いるからだろう。
echo $js->submit("登録する",array( 'id'=>'register', 'url'=>'add', 'update'=>'#complete' 'before'=>' var fm = document.getElementById("add"); $("#add").append("<input type=\"hidden\" name=\"data[Theme][explanation]\"/>"); fm.elements[\'data[Theme][explanation]\'].value=$("#explanation").val(); ' ));
では、どうすればよいか。
beforeで設定するのではなく、別で$js->submitより上に、
onclickのイベント設定をしてしまえばよい。
こうすれば、フォームの値の操作が完了してから、
送信の処理が開始されるようになる。
$js->get("#register")->event('click',' var fm = document.getElementById("add"); $("#add").append("<input type=\"hidden\" name=\"data[Theme][explanation]\"/>"); fm.elements[\'data[Theme][explanation]\'].value=$("#explanation").val(); '); echo $js->submit("登録する",array( 'id'=>'register', 'url'=>'add', 'update'=>'#complete' ));※CakePHPのバージョンはcakephp-cakephp-1.3.15-9-gacd25c3.zip
0 件のコメント:
コメントを投稿