2016-12-10 10 views
-1

私はユーザーがテキストを編集できるフォームを持っています。キャンセルボタンを押して削除すると、ユーザーはテキストを取得できます。JavaScriptの編集/キャンセルボタン

元のテキストを編集したユーザーのテキストを取得する方法と、編集前にフォームの元のテキストをキャンセルする場合はどうすればよいですか?

あなたが好き入力に data-original-textを追加することによって、これを行うために data-*属性を使用することができ
+0

いくつかの隠しフィールドに保管し、元のテキストまたは(あなたがそこにそれを格納する場合)デシベルを形成し、それを取得 –

+0

彼らはキャンセル押す前にここで何かを編集する場合、私は、あなたが意味想定しています彼らがキャンセルを打つと元々あったものを元に戻したいのですか? –

+0

@lix yup正確に –

答えて

0

彼らは、複数の変更を行い、まだ変更で利用できる以前のテキストを持つことができるように、次のようなものが上に構築することができます。

// JavaScriptのソースコード

var orginalText = "Please Enter Some Text here"; 
var newTest = ""; 

$(document).ready(function() { 
    $("#target").change(function() { 
     newText = this.text; 
    }); 

    $(".cancel").on("click", function() { 
     $("#target").text(orginalText); 
    }); 
}); 
+0

元のテキストがデータベースに保存されている場合はどうなりますか?私は似たようなことをしますか? –

+0

'orginalText'を開始時のターゲットフィールドの値と同じにするだけです。 –

+0

申し訳ありませんが、私はそれをどうすれば正確に行うのだろうと混乱していますか? –

2

<input name='first_input' data-original-text='First input text' value="First input text"/> 

とデータ属性を取得し、値に割り当てますcancelボタンにクリックイベントを追加します。

$('form').on('click','#cancel',function(){ 
    $(this).closest('form').find('input').each(function(){ 
    $(this).val($(this).data('original-text')); 
    }) 
}) 

これが役に立ちます。

$('form').on('click','#cancel',function(){ 
 
    $(this).closest('form').find('input').each(function(){ 
 
    $(this).val($(this).data('original-text')); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input name='first_input' data-original-text='First input original text' value="First input original text"/> 
 
    <input name='second_input' data-original-text='Second input original text' value="Second input original text"/> 
 

 
    <button id='cancel'>Cancel</button> 
 
</form>

+0

ごめんなさい、最後の質問です。私はこれのようなものを持っています: '$( '。cancel、.email-item')。click(function(){(e-mail-body-body ')} text(original_text); $(' $ {'キャンセル'} .css({{content-body-body}}) css({display: "none"}); $( 'display: "none"}); $(' .edit ').css({display: "inline"});}) 'キャンセルボタンは元のテキストを元に戻しません。どこが間違っていますか? –

関連する問題