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>
解決策のアイデアはありますか?