【问题标题】:Populate form by link click before posting with jQuery在使用 jQuery 发布之前通过链接单击填充表单
【发布时间】:2010-08-08 11:14:01
【问题描述】:

我正在使用 JQTouch 构建一个小型网站,但我遇到的第一个问题是表单。

我有一个表格

<form action='action.php' class='jqt' id='ajax_post' method='post' name='pform'>

(当我尝试使用document.pform 访问它时,name 属性就在那里),其中包含a 元素的 ul 列表,如下所示:

<a class="submit" href="#"  value="somevalue">Text displayed</a>

在表单的下方,我放置了一个隐藏的输入字段(因为我只想发布一个值),我的目标是通过单击其中一个链接然后提交来填充它:

<input name='somename' type='hidden' />

提交时,网络服务器报告执行了 POST,并且在页面返回原始表单之前有一个简短的幻灯片动画。试图破解我的方式进入 jqtouch.js 以填充输入字段不起作用(我正在尝试的是 $form.somename.value = $(this).attr('value');submitParentForm() 内)

CSS 捕捉良好,列表显示良好。实际上,如果我删除submit 类并在其中一个链接中插入我自己的带有document.somename.value = %(this).attr('value'); document.pform.submit(); 的表单提交覆盖,例如hrefonClick,则执行POST 并显示下一页,尽管通过重新加载而不是使用 jQTouch 动画,这是我的目标。

我的问题:当我发布一个表单时,我如何使用 jQTouch 显示幻灯片动画,当用户点击它时,我想用 a 元素的 value 填充它?

提前致谢。

【问题讨论】:

  • 可以拦截表单提交事件。
  • 但是大概应该在提交之前填充该字段?可能我理解的不是很清楚。
  • 这里有两个问题: - 提交表单时如何在页面刷新之前显示幻灯片动画。 - 如何使用附加到链接元素的值动态填充表单字段。

标签: javascript jquery html forms jqtouch


【解决方案1】:

我不会提交表单(如果我想使用提交按钮,我会使用 preventDefault)。我只需使用 $.post() 发布数据,然后使用 jQT.goTo 使用幻灯片动画转到新页面。新页面在 jqTouch 中,当然,只有同一文档中的另一个 div,这使得使用 $.post() 回调中的响应在该页面上设置您想要的任何信息变得容易。

但这可能不是您尝试做的可行解决方案,我不太了解这个问题。

【讨论】:

  • 如果不清楚,我深表歉意。实际上,我的应用程序动态加载了许多页面,因此没有“一页”。有一个通用的布局(带有头部和开始的主体标签等),并且调用 POST 请求的结果(作为一个新的 div)。至于形式,它基本上是一个重新转换的下拉菜单。我没有显示一个下拉菜单,它只是另一个复杂元素,而是将其重新格式化为一个链接列表,其中包含相关的values。理想情况下,单击一个应该only 提交具有该值的表单并返回结果(带有精美的幻灯片动画)。
  • 其实我就是这么做的,非常感谢!我用 $.post 检索了信息,然后用 innerHTML 重新绘制了 div 的内容。我的问题是我的动态布局包含了链接指向的 div 元素,这让 jQuery 的选择器变得不可能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 2010-09-13
  • 1970-01-01
相关资源
最近更新 更多