3

javascriptとajaxが苦手なので、よろしくお願いします。私は Symfony2 と Twig を使用しており、jediable で変更するフィールドがありますが、その値は一意である必要があります。ということでコントローラーのアクションでこれをチェックしているのですが、アプリを正常に動作させることに成功しません。私は多くのことを試しましたが、私が望む結果に最も近いのはこれです:

   if (count($same) == 0) {
            // add to database
        } else { 
                $response = new Response();
                $response->setContent('<div class="alert alert-error">
            <button type="button" class="close" data-dismiss="alert">OK</button>
            <strong>This value is already used!</strong> Please choose another.
        </div>');
                $response->send();

この素敵なエラーを出力します:

ここに画像の説明を入力

しかし、[OK] をクリックすると、jeditable プラグインは引き続き機能し、エラー全体が編集可能になるため、入力フィールドの値には、設定されたすべての HTML が含まれます。$response->setContent()ここに画像の説明を入力

ブロック全体だから

        <div class="alert alert-error">
            <button type="button" class="close" data-dismiss="alert">OK</button>
            <strong>This value is already used!</strong> Please choose another.
        </div>

クリックするとクラス「.edit」のdivにあり、編集可能になり、このブロック全体が含まれます。私が欲しいのは、ユーザーがコントローラーで生成されたアラートをクリックして、編集を開始する前のカテゴリの元の名前または空の値で jeditable から入力フィールドに戻るときです。

これは私の .js ファイルですが、入力フィールドを空にしません (ただし wokring を出力します):(

$(document).ready(function(){

     $('.edit').editable(path, {
         cancel    : 'Cancel',
         submit    : 'Save',
         tooltip   : 'Click to edit'
     });

     $('.bla').on('click','.alert', function(){        
         console.log('working');    
         $("input[type=text]").hmtl('');
     });
});

HTML

<span class="right-spacer"><strong id="{{cat.id}}"class="edit bla">{{ cat.name }}</strong>

解決策のアイデアはありますか?

4

2 に答える 2