【问题标题】:jQuery, AJAX, Form is loaded?jQuery、AJAX、Form 加载了吗?
【发布时间】:2012-06-26 23:34:38
【问题描述】:

我正在使用WordPress theme Studio8,并且我在自定义 URL 重写加载的页面中创建了一些自定义表单。

问题是,虽然 HTML 有效且没有错误,但在加载页面时,通过 jQuery $.load('URL Selelcor') 移动

<input type="submit" id="submit" value="Submit" />

在表格之外。

我的表格是这样的:

<form attributes....>
    ....
    <input attributes .... />
    ....
    <input type="submit" id="submit" value="Submit" />
</form>

HTML 结果是这样的:

<form attributes....>
    ....
    <input attributes .... />
    ....
</form>

<input type="submit" id="submit" value="Submit" />

关于如何解决这个问题的任何想法?


我正在考虑解决该问题的另一种方法是检查表单是否已加载,然后检查表单是否不包含使用 JavaScript 添加的提交按钮。

现在的问题是我必须在 AJAX 加载后检查表单是否存在。例如,对于表单元素上的其他事件,我使用

$('element_selector).live('event_name', function(){});

在我的情况下,如何在 AJAX 加载后检查表单是否有提交按钮?

【问题讨论】:

  • 您需要在此处包含更多细节 - 就像您的实际 jQuery 一样!如果表单已经在页面上 - 为什么要再次加载它??
  • 发布所有相关的 HTML,包括 AJAX 加载部分和加载页面。
  • WordPress 主题是基于 AJAX 的。这个主题不是我做的,所以我不知道为什么基于 AJAX :)。总体思路是,创建一个主题页面,带有页眉和页脚,然后 AJAX 用 AJAX 加载相应的页面。问题是 AJAX 给我的表单带来了问题:(

标签: jquery html ajax forms


【解决方案1】:

奇怪,这里有一个想法:

 $(document).ready(function()
 {
      $('input[type="submit"]').live("click",function()
       {
           $('form').submit();
       });
 });

这应该使现有按钮提交您的表单。您可以在其上添加 id 以防止其提交页面上的所有表单。

检查它是否存在并添加它,如果你可以使用:

$(document).ready(function()
{
      if(!$("form").find(':submit').attr("value"))
      {
          $("form").append("<input type=\"submit\" value=\"Submit!\" />");
      }
  });

this jsFiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    相关资源
    最近更新 更多