0

タイトルが示すように、チェックボックスがクリックされた後、あるテキストボックスから別のテキストボックスに値を本質的にコピーしようとしています。私はjavascriptを介してこれを行う方法を知っています.唯一の問題は、サーバー側でかみそりで行う必要があることです. 以下のコードでこれを達成しようとしていますが、悪名高い「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。エラー。しかし、それが何を指しているのか正確にはわかりません。助けていただければ幸いです。

<div class="editor-field">
    @Html.CheckBoxFor(model => model.SameAddress, new { id = "chkAddress" })

    @{bool isChecked = false; 
        if (Boolean.TryParse(Request.Form.GetValues("chkAddress")[1], out isChecked) == true)
        {

        }
    }
</div> 
4

1 に答える 1

2

かみそりはこれであなたを助けるつもりはありません。これには 2 つの方法があります。

1) JavaScript を使用: チェックボックスの変更イベントをリッスンし、チェックされている場合は、最初のテキスト ボックスの内容を読み取り、2 番目に貼り付けます。これは私が行くのが好ましいです。

このようなもの

$(function(){
    $("#chkCopy").change(function(){
        $("#address2").val("");
       if(this.checked)
       {
            $("#address2").val($("#address1").val())

            //Lets read city and paste it in the second place as well.
            $("#city2").val($("#city1").val())
       }                
    });
});​

ID付きのチェックボックスがクリックされたときにaddress1、ID付きのテキストボックスからID付きのテキストボックスにコピーしたいと仮定しますaddress2chkCopy

作業サンプル: http://jsfiddle.net/9fM89/4/

2) フォームポストの使用: ユーザーが [コピー] ボタンをクリックすると、アクション メソッドにフォームが送信され、フォーム要素の値が読み取られ、2 番目のチェック ボックス用のプロパティに設定され、それが返されます。景色。

于 2012-05-17T18:47:24.570 に答える