【问题标题】:Submitting Form Via Javascript, form defined in external PHP file通过 Javascript 提交表单,在外部 PHP 文件中定义的表单
【发布时间】:2011-07-23 17:12:30
【问题描述】:

我有一个通过 php 注入页面正文的表单。我有一个触发 javascript 验证功能的按钮,最后它应该提交表单,但似乎不想提交。

我正在使用函数调用:

document.myform.submit();

脚本肯定会到达此函数调用,因为我成功弹出了调试警报()消息。它位于 validate&submit 函数中,该函数在 jquery $(document).ready() 函数之后定义。

我已经检查了所有明显的事情,例如正确打开/关闭表单标签、正确表单名称等,但我似乎无法解决问题。

有什么想法吗?我还没有提交整个文件,因为它与其他东西杂乱无章,但如果需要我可以提交。

非常感谢, 奥利弗

这是 php 完成后的 html 源代码:http://pastebin.com/2EaucEar

【问题讨论】:

  • 没有看到你的代码就做不了什么。
  • 从您发布的源代码的颜色编码来看,似乎存在一些 HTML 错误 - 元素属性之间缺少空格,这可能会影响 DOM 的正确处理。
  • 您的警报是否也到达表单将提交的 else 语句?曾经尝试使用 firebug 或 chrome 开发者工具。试试看是否遇到 javascript 错误。
  • EditFormSubmit() 函数的最后 else 语句中的警报确实正确触发。

标签: php javascript forms submit


【解决方案1】:

找到了!

我正在使用一个看起来像普通链接的按钮,但没有使用任何按钮功能。所以它也可能是一个链接。按钮的名称是 name='submit',这对我来说非常有意义,但我通过设置 type='button'来确保它不是提交按钮>。

似乎提交是一个关键字,并将按钮转换为提交或其他东西。不完全确定,但是将按钮名称(我在其余代码中没有提到)更改为其他名称可以解决问题。

感谢你们的帮助。你帮我缩小了范围。

【讨论】:

    【解决方案2】:

    我做了一些修改。当我终于到达调用您的提交行的地步时,我收到了一个 javascript 错误。由于您使用的是 jQuery,请尝试使用以下内容:

     $('#editForm').submit();
    

    如果有帮助,这里是我用来修补的 jsFiddle。

    http://jsfiddle.net/CkvLj/7/

    希望这会有所帮助。

    鲍勃

    【讨论】:

    • 我之前尝试过使用 jquery 选择器(这就是表单有 id 的原因)。正如“w3d”所提到的,语法高亮在表单周围有点有趣,所以我确保所有属性之间都有空格,但仍然没有运气。所以我的提交/验证方法没有错,但是你认为的某个地方一定有语法错误吗?
    • 这里是用于将表单吐出到主索引文件中的php函数pastebin.com/hPnZQgTs
    • 我确实注意到您在“·”上缺少一个分号字符。
    • 这是 javascript 错误,我在 chrome 中看到 'Uncaught TypeError: Property 'submit' of object # is not a function'。
    猜你喜欢
    • 2020-12-27
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2011-10-14
    相关资源
    最近更新 更多