我在对话框上有一个表单,如下所示:
<form action="../ControlerFunction">
<input type=text id="id1"/>
<input type=text id="id2"/>
<button type="submit"> OK </button>
<button type="button" class="close"> Cancel </button>
</form>
提交表单时它会触及我的控制器功能,但是如何检索两个文本框的值呢?
当我将表单操作更改为:
时<form action="JavaScriptFunction();">
or:
<form action="JavaScriptFunction();return false;">
我将JavaScript放在同一页面上:
function JavaScriptFunction()
{
alert("Hi!");
}
它没有达到这个功能。我错过了什么吗?
答案 0 :(得分:1)
在您的控制器中添加另一个接受HTTP POST的操作方法并接收表单集合。
像:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ControllerFunction(FormCollection collection)
善,
丹
答案 1 :(得分:1)
更正html表单标记语法:
<form method="post" action="/controller/method/" onsubmit="yourJSFunction();">
...
这适用于所有服务器端语言和技术。
答案 2 :(得分:0)
继续@Daniel。
您可以使用MyAction [FormCollection集合],然后从集合对象中提取值。
或者,如果您有一个传递给视图的模型,您可以使用TryUpdateModel()来使用表单中的值来设置模型。
如果您需要更多内容,请发表评论,我会添加代码。
现在回家,所以当我对抗交通时会有延迟。 :)
哦,欢迎来到SO。
答案 3 :(得分:0)
首先考虑一下:
附加代码:
<form name="form1" method="POST" onSubmit="JavaScriptFunction(); return false;">
<input type=text id="id1" name="id1"/>
<input type=text id="id2" name="id2"/>
<button type="submit"> OK </button>
<button type="button" class="close"> Cancel </button>
</form>
的javascript:
function JavaScriptFunction()
{
var id1Text = document.form1.elements["id1"].value; //get the value of id1
var id2Text = document.form1.elements["id2"].value; //get the value of id2
//do whatever you want here.
}
答案 4 :(得分:0)
我想回答你的第一个问题。
我怎样才能检索两个文本框的值?
Daniel Elliot给出了一个答案 在为您输入标签提供了具有相同id属性值的name属性后,您可以将这些值作为参数访问您的操作方法。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ControllerFunction(String id1, String id2)
关于java脚本的第二个问题由Sergei
回答答案 5 :(得分:0)
<form name="form1" method="POST" onSubmit="JavaScriptFunction(); return false;">
<input type=text id="id1" name="id1"/>
<input type=text id="id2" name="id2"/>
<button type="submit"> OK </button>
<button type="button" class="close"> Cancel </button>
</form>
的javascript:
function JavaScriptFunction()
{
var id1Text = document.form1.elements["id1"].value; //get the value of id1
var id2Text = document.form1.elements["id2"].value; //get the value of id2
//do whatever you want here.
}