【问题标题】:submit a form using checkbox [duplicate]使用复选框提交表单[重复]
【发布时间】:2013-10-10 02:30:12
【问题描述】:

我有一个非常简单的问题 - 当我更改复选框的状态时如何获取要提交的表单

这是我的代码

<form name="formName" id="formName" action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
<input type ="checkbox" name="categories1" value = "1" onClick="submit();">1</input>
</form>

除了 submit() 我尝试过:

  • this.form.submit()
  • document.getElementById('formName').submit()
  • this.parentNode.submit()

但这些都不起作用。当我选中或取消选中该框时,什么都没有发生

有什么线索吗?

【问题讨论】:

  • 您的代码在 action = "..." 位中受到 XSS 注入。确切地看到这个问题:PHP_SELF and XSS
  • 使用 this.form.submit 而不仅仅是 submit();如果您仍然想提交表单。
  • document.getElementById('formName').submit(); 工作.. 你能显示submit() 功能

标签: javascript php html


【解决方案1】:

参考表单名称属性:

document.formName.submit()

【讨论】:

  • 这些建议都不起作用
  • 当我尝试 onclick="document.getElementById('formName').submit();"我在 IE 中收到错误消息:对象不支持此属性或方法
【解决方案2】:

这对我在 FF 和 IE 中都有效:

<form name="formName" id="formName" action="" method="get">
<input type ="checkbox" name="categories1" value = "1" onclick="this.form.submit();">1</input>
</form>

【讨论】:

    【解决方案3】:

    找到了问题 - 我有一个名为 submit 的提交按钮 - 请参阅 Javascript form submit: Object doesn't support this property or method (IE7) 了解类似的解决方案。

    【讨论】:

    • 你没有分享你的输入类型有提交名称,这是另一个问题。
    【解决方案4】:

    你可以试试下面的

    <form name="formName" id="formName" action="" method="get">
    <input type ="checkbox" name="categories1" value = "1" **onchange**="this.form.submit();">1</input>
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 2012-05-23
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      相关资源
      最近更新 更多