Voi*_*ing 2 html javascript c# forms webmatrix
我有一个包含两种形式的页面。
一种形式只有一个隐藏的输入元素,用于帮助连接查询字符串。
在另一个表单中,我有一个简单的按钮元素(不是输入类型提交按钮),想法是提交另一个表单 onclick(使用 JavaScript)。按钮就是这种形式。
就目前而言(出于测试目的),我目前所做的只是调用一个名为 changeSpec() 的 JavaScript 函数,其中绝对唯一的一行代码是一个警告框,它显示了隐藏输入元素的值。
按钮:
<td class="entry" colspan="3"><button onclick="changeSpec()">Change Species</button></td>
Run Code Online (Sandbox Code Playgroud)
带有隐藏输入元素的表单:
<form id="specChange" action="" method="get"><input id="hiddenSpec" type="hidden" value='@oppSpec' /></form>
Run Code Online (Sandbox Code Playgroud)
JavaScript 函数:
function changeSpec()
{
alert($("#hiddenSpec").val());
}
Run Code Online (Sandbox Code Playgroud)
当我单击普通按钮元素时,出现服务器端错误 (YSOD)...我的意思是,哇,没看到,哈哈。
我得到的错误与此无关,因为它是查询字符串中的一些强制转换错误,我仍然需要解决(此时,只要提交大表单 [不是上面显示的那个],就会发生这种 YSOD)。另外这个 YSOD 是运行时错误,而不是编译器错误,因为页面加载没有问题,直到它认为它已提交,并且随后执行 IsPost 分支。
无论如何,我可以以某种方式告诉(即使我设置 onclick=""),这个位于大表单中的按钮实际上是在尝试提交表单?
我之前不仅在其他表单中使用过常规按钮元素,而且一直认为常规按钮永远不会提交表单,我还多次清除缓存,只是为了确保没有任何愚蠢的(在那个级别)发生. 无论如何,似乎我需要接受有关 html 表单如何解释普通按钮元素的教育。
请帮忙,我在这里真的很茫然。这怎么可能?
谢谢,如果需要更多代码,请告诉我。
缺失值默认值 [for
type] 是提交按钮状态。
换句话说,任何button没有type属性的都是提交按钮,默认情况下将提交表单。将您的代码更改为<button type="button" onclick="...">