0

わかりました、これは非常に単純な答えかもしれませんが、私の人生では、答えを見つけることができないようです! ユーザーをテキストから消灯ボックス (SimpleModal) にサインアップしています。AJAX は、管理者が選択したクライアント リストにユーザーをサインアップするための新しいページをロードします。

モデルチェックが正しい限り、これはすべて問題なく機能します。2 つのチェックがあります。1 つは、ユーザー名が一意であること、およびパスワードが 8 文字以上であることを確認することです。以下のコードを参照してください。しかし、これらのチェックの 1 つまたは両方が満たされない場合、ユーザーは AJAX URL に移動し、「メッセージ」が表示されます。これは私が必要としているものではありません。消灯ボックスに戻すか、これらのメッセージをフラッシュ エラー メッセージとして設定して画面に印刷する必要があります。

または、モーダルからこれらのチェックを削除し、代わりに JQuery でチェックする必要がありますか?

何か案は?

すべてのヘルプ大歓迎.....

モデルコード ::

 public $validate = array(
        'username' => array(
            'required' => array(
                'rule' => array('isUnique'),
                'message' => 'Sorry but a unique username is required'
            )
        ),
        'password' => array(
            'required' => array(
                'rule' => array('minLength', '8'),
                'message' => 'Sorry but a password of 8 characters or more is required'
            )
        ) ... more check follow but these are the issues....

CTP ファイル ::

$this->layout = 'ajax';
$AddUserForm = $this->Form->create('User', array('url' => '/ADD-USER-URL-HERE'));
$AddUserForm .= $this->Form->input('username');
$AddUserForm .= $this->Form->input('password');
$AddUserForm .= $this->Form->input('role', array('options' => array('admin' => 'Admin', 'user' => 'User')));
$AddUserForm .= $this->Form->input('data_id', array('options' => array($data), 'empty'=>true));

$AddUserForm .= $this->Form->end(__('SAVE NEW USER')); 
echo  $AddUserForm;
4

1 に答える 1

1

あなたのctpファイルで

$('form').on('submit', function(e) {
    e.preventDefault();
    $.post($(this).attr('action'), $(this).serialize(), function(res) {
        $('form').replaceWith(res);
    })
})

上記のスクリプトを使用してデータを検証するために使用できます。

ajaxこれは ajax 経由でフォームを送信するのに役立つと思います。.

これがあなたを助けることを願っています。

于 2013-09-25T13:10:35.093 に答える