3

jquery.ajaxとasync:falseオプションを使用して関数を介して送信するために、jeditableを正常に使用していますが、エラーが返された場合に中止する問題があります。

エラーが発生した場合、編集ボックスをアクティブのままにしたり、元の値に戻したりするにはどうすればよいですか?httpステータスコードを返しています。

だから何かのような

async : false .ajax submit here...
if (xhr.status == 200) {
  return value;
else {
  alert ('returned error');
  // keep edit box activated but available for another try, or revert back to original value
}

関数から値を返さないようにしました。これにより、編集ボックスがアクティブになり、次の送信の準備が整いますが、ESCキーが機能しなくなり、編集領域の外側をクリックしても編集ボックスが表示されたままになります。

前もって感謝します!

4

3 に答える 3

4

これがあなたの状況に役立つかどうかはわかりませんが、jeditableにはリセットメソッドがあります...

試す...

this.reset();

これにより、要素が元の値で表示モードに戻ります。

于 2009-06-15T18:30:05.497 に答える
0

これを追加:

$(this).editable("disable");

これにより、元に戻すかどうかわからないため、エラーを編集できなくなります。私は今、元に戻すことで同じ問題と戦っていますが、JavaScriptについては何も知りません...

于 2010-04-15T23:04:38.010 に答える
0

編集モードのままにするには、応答ヘッダー "HTTP 404" を設定し、エラー テキストをレンダリングします。

PHP:

header('HTTP/1.1 400 Bad Request');
echo "Error Text";
于 2009-10-23T00:07:28.243 に答える