2012-03-21 16 views
0

私はいくつかのテキストボックスと4つのボタンで構成されるリピーターを持っています。 4つのボタンがあります:ASP.NET - ボタンの変更を破棄する

i)が編集 II)IV)後者の二つが隠されている一方で

最初の二つのボタンは、ページの読み込みに表示されているキャンセル III)変更の保存 を削除します。

編集ボタンをクリックすると、以前に無効になっていたテキストボックスが有効になり、前の2つのボタンは非表示になり、後の2つのボタンが表示されます。

これまではすべて正常に動作します。問題は、ユーザーがテキストボックスのいずれかの内容を変更して[変更を保存]ではなく[キャンセル]をクリックすると、内容が変更されたままになることです。

幸いにも、変更はデータベースに保存されないので、視覚的なものですが、迷惑です。このような状況では、ユーザーが変更を加えて[キャンセル]ボタンをクリックする前の状態に戻す必要があります。

どうすればいいですか?

history.go(0)を利用してみましたが動作しません。ここで

は、キャンセルボタンのコードです:

<input type="button" value="Cancel" class="ButtonCancel" onclick="history.go(0)" /> 

答えて

2

あなたは、データベースを再照会したり、変更前の状態を保存したときに、ボタン、古いテキストボックスの値を復元するためにクライアント側のスクリプトを使用しますかが押された。

+0

私は実際に後者をしてポストバックがないようにしたいと思います。初期値を変数に格納してから、[キャンセル]ボタンをクリックするとコントロールに再割り当てする必要がありますか? – Matthew

+0

はい。編集のクリックイベントでは、テキストボックスの初期状態をいくつかの変数に保存できます。また、キャンセルのクリックイベントでは、変数からテキストボックスに値を復元します。 – Blim

+0

こんにちは:)私はTextBoxDescriptionと呼ばれる変数にコントロールを保存しました。 今、「キャンセル」ボタンのクリックで説明テキストボックスの内容を変更しようとしています。私はjqueryの次のコードを持っています: $( '。Desc')。val(TextBoxDescription) ただし、キャンセルをクリックすると内容は[オブジェクト]として表示されます。問題はTextBoxDescriptionにあります。私は、コントロール内のテキストを取得するメソッドを使用する必要があります。これがjQueryでどうやってできるのか分かりますか? – Matthew

1

編集クリックイベントに古い値を保存します。キャンセルイベントで古い値を戻します。

0

ユーザーが編集ボタンをクリックすると、テキストボックスの内容を隠しフィールドに保存できます。 キャンセルボタンをクリックすると、前の値が隠しフィールドからテキストボックスに移動します。

<script language="javascript" type="text/javascript"> 

    function edit_onclick() { 
     form1.hisotry.value = form1.Text1.value; 
    } 

    function cancel_onclick() { 
     form1.Text1.value = form1.hisotry.value; 
    } 


</script> 
関連する問題