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