代码之家  ›  专栏  ›  技术社区  ›  Bennett Dill

输入类型=没有onclick事件的图像“On”

  •  0
  • Bennett Dill  · 技术社区  · 15 年前

    我有一个输入类型为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>
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   bobince    15 年前

    如果我能“打开输入”就好了

    不可能,对不起。您只能添加另一个控件来假装它是(例如,隐藏输入,如果您使用的是AJAX,则添加直接参数)。

    我试着将输入的值设置为on,但似乎没有成功。

    怎么会失败?对于图像输入,您需要包括 .x .y 作为字段名的后缀,因为浏览器是这样做的,以传递带有位置的图像单击。如。

    <input type="hidden" name="submit.x" value="1" />
    <input type="hidden" name="submit.y" value="1" />
    

    代码正在查找要打开的输入。。。

    你不能修改代码来删除那个要求吗?