伙计们,我是 JavaScript 的新手,所以不确定错误在哪里。基本上我的 cshtml 中有两个提交按钮。一个 ID = 电子邮件,另一个 ID = 短信。我已经设置值=“”。我在表单中使用这些按钮。
我想做的是;通过单击这些按钮,我想向它们传递一个值,以便我可以在模型和 Controller 中使用该值,就像在 switch 语句中一样。尝试了各种方法,但仍然传递空值。请指教!
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;
}
}
Controller
[HttpPost]
public ActionResult MarketingPreferences(MyModel model, string submitButton)
{
MarketingPreferencesModel.susbscription(model, submitButton);
return View(model);
}
最佳答案
试试这个:
<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);
}
关于javascript - 输入(提交)按钮的设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12094989/