【问题标题】:jQuery slideUp(); breaks my POST formjQuery 幻灯片();打破我的 POST 表单
【发布时间】:2009-12-24 00:38:45
【问题描述】:

我有一个包含多个 <input> 文本框的表单。他们可以通过发布请求正常工作。

每一个都包含在自己的 div 中,它会向上滑动(使用 slideUp();)它已填充的内容。但是,其 div 已经历 slideUp(); 的任何文本框; (因此是不可见的)在提交表单时不会将其变量传递到下一页。有没有人对slideUps如何继续但所有数据都传递有任何建议?非常感谢。

代码

<form id="word_list" method="post" action="results.php">
     //All PHP removed for clarity
     //The div with id="word1" experiences slideUp();
     //I know this isn't a valid way to comment!
<div align="center" class="input_box" id="div1">
       <input type="text" id="word1" name="word1" /></div>
    <div align="center" class="input_box"><input type="submit" /></div>
  </form>

【问题讨论】:

  • 你能把你的代码贴出来让我们看看吗?
  • 它的主要部分现已发布。
  • 您确定您的代码在不使用 slideUp() 时有效吗?
  • 确定。 $_GET['word1'] 向上滑动后什么也不显示。

标签: jquery forms html textbox slideup


【解决方案1】:

为了记录,问题出在我自己的错误上,而不是 slideUp();

我一直在使用$("#"+word_id).attr("disabled", true); 来阻止人们在提交后在文本字段中书写,但这也破坏了表单。似乎在 POST 之后禁用的属性不可用。对不起。

【讨论】:

  • 在输入上设置disabled 属性就可以了!
【解决方案2】:

slideUp 和其他一些效果一样,最终会在元素上设置display:none。这可能是你的问题背后的原因。为了处理它,您可以在触发slideUp 之前将这些输入的值复制到隐藏的表单元素,或者您可以在那时使用ajax 将它们发送到服务器。这有点麻烦,但我相信你可以让它工作。

【讨论】:

  • 是否应该显示:但不影响表单域?
  • 我没想到,因此我的暂定措辞“可能。我知道我已经看到一个 display:none 字段从 Safari 发布,但我没有在其他浏览器中测试过。
猜你喜欢
  • 2011-03-01
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 2013-11-27
  • 2014-04-02
  • 2011-01-01
相关资源
最近更新 更多