我是ASP.NET的新手,并且在ascx用户控件上有一个表单标记。我无法从javascript提交表单,因为我发现这个表单嵌套在一个名为'aspnetForm'的表单中。如果我只想发一个cgi的帖子,我该怎么做呢?
答案 0 :(得分:4)
如果您不需要,请移除<form runat='server'>
并使用您自己的表单:<form action="page.cgi" method="post">
。您将无法使用某些服务器控件。改为使用他们的HTML等价物。
如果您无法控制页面,可以使用javascript在页面上注入一个带有隐藏字段的新表单,并在单击按钮时设置值。
这样的事情:
var myForm = document.createElement("form");
myForm.attributes["action"] = "mycgi.cgi";
myForm.attributes["method"] = "POST";
var myhiddenfield = document.createElement("input");
myhiddenfield.attributes["type"] = "hidden";
myhiddenfield.attributes["name"] = "name"
document.body.appendChild(myForm);
myForm.appendChild(myhiddenfield);
function onFormButtonClick() { // set as onclick on a <button>
myhiddenfield.value = ... //value read from a textbox or something.
...
myForm.submit();
}