2

皆さん私はJavaScriptを初めて使用するので、エラーがどこにあるのかわかりません。基本的に、cshtmlには2つの送信ボタンがあります。1つはid=emailで、もう1つはid=smsです。value=""を設定しました。これらのボタンをフォームで使用しています。

私がやりたいのは; これらのボタンをクリックして値を渡し、switchステートメントのようにモデルとコントローラーでその値を使用できるようにします。さまざまな方法を試しましたが、それでもnull値を渡します。お知らせ下さい!

function GetVal() {
    var input = document.getElementsByTagName('input');
    for (i = 0; i < input.length; i++) {
        if (input[i].type == 'submit') {
            if (input[i].id == 'email') {
                //input[i].value = 'submitEmail';
                //input[i].setAttribute("value", "subEmail");
                document.getElementById("email").setAttribute("subEmail", "value");
                break;
            }
        }
    }
}

<input id="email" type="submit" class="@( Model.UnsubscribedEmail == null ? "unsubscribe" : "subscribe")" onclick="GetVal();" />

モデル

public static void susbscription(MyModel model, string submitButton)
    {
     switch (submitButton)
        {
            case "subEmail":
            //Code here
            break;
         }
     }

コントローラ

[HttpPost]
public ActionResult MarketingPreferences(MyModel model, string submitButton)
    {
        MarketingPreferencesModel.susbscription(model, submitButton);

        return View(model);
    }
4

1 に答える 1

1

これを試して:

<input id="email" type="submit" name="submitButton" onclick="GetVal(this);" class="@( Model.UnsubscribedEmail == null ? "unsubscribe" : "subscribe")"  />

JavaScriptの場合:

function GetVal(element) {
    element.value = "subEmail";
}    

動作中:

public ActionResult MarketingPreferences(MyModel model, string submitButton)
{
    MarketingPreferencesModel.susbscription(model, submitButton);

    return View(model);
}
于 2012-08-23T15:45:44.513 に答える