我有一个输入类型为image的表单。它以前在onclick中有一个confirm,返回true/false,允许/停止表单提交。我最近“升级”到一个带有回调处理程序的非模态对话框。
因为回调处理程序是非模态的,所以输入的返回值总是false,不要提交。。。当我在确认后提交时,表单上没有输入的名称,因为从技术上讲它没有被点击。这就是问题所在,代码正在寻找要打开的输入。。。
我可以使用一个旧名称的隐藏字段,并将其设置为on以绕过该问题,但这似乎很难理解。如果我能在不触发onclick(递归灾难)的情况下“打开输入”,那就太好了。也许不是灾难,但不性感。我试着将输入的值设置为on,但似乎没有成功。
有什么想法吗?
P、 我不使用.NET,所以解决方案包括ASP.NET不适用于:-(
我正在添加示例代码。当点击Foo!,您会注意到地址栏中的Foo.x=0和Foo.y=0。点击工具栏,你什么也得不到。我想能够把酒吧的形式内的酒吧回调。
代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script language="javascript" type="text/javascript">
function Bar() {
setTimeout(BarCallback, 500);
return false;
}
function BarCallback() {
document.getElementById('TheForm').submit();
}
</script>
</head>
<body>
<form method="get" id="TheForm">
<input type="image" alt="Foo!" name="Foo" />
<br />
<input type="image" alt="Bar!" name="Bar" onclick="return Bar();" />
</form>
</body>
</html>