【问题标题】:Jquery: Dropkick plugin - Form submit onchangeJquery:Dropkick 插件 - 表单提交 onchange
【发布时间】:2013-03-13 11:24:50
【问题描述】:

您好,我得到一个没有按钮提交的表单,没有 Dropkick 可以很好地工作,并通过 POST 方法发送一个名为“fonction”的变量:

<form name="recherche_cat" method="post" class="ass_select">
<select name="fonction" onchange='submit()' tabindex="3" size="1">
    <option value="default">default</option>
    <option value="1">mot1</option>
    <option value="2">mot2</option>
</select>
</form>

但是当我使用 dropkick 时,它不再起作用了。 我试试这个:

$('.ass_select').dropkick({
  change: function (value, label) {
  $(this).closest('form').submit();
  }
});

页面重新加载但不发布值。

感谢您的帮助。

【问题讨论】:

标签: jquery forms submit onchange jquery-dropkick


【解决方案1】:

您的onchange='submit()' 不再触发,因为 jQuery 不保证在没有 jQuery 的情况下附加触发处理程序。

相反,假设您声明了 submit 函数,请使用:

$('.ass_select').dropkick({
  change: submit
});

Fiddle

请注意,在处理程序内部,this 现在指向 form 而不是 select 元素。

【讨论】:

  • 您好,感谢您的回答,但我不知道在提交函数中声明什么,以获得与我的 onchange='submit()' 相同的效果。如何在 jquery 中告诉我我想用我的 var 值重新加载页面?
  • 您可以编辑问题以添加submit 函数的代码吗?我不确定“使用 var 值重新加载页面”是什么意思。
  • 好吧,问题是我没有提交任何函数 :) 当您使用带有 POST 方法的提交按钮时,我想要做与表单相同的事情。
  • @casp 在这种情况下,您发布的代码应该可以正常工作。这是另一个提交表单的 POST 请求的变体:jsfiddle.net/kx2VT/5
  • 嗯,好吧..它不起作用;但如果你说它应该。我想我的 cms (spip) 和 javascript 之间存在冲突,按操作顺序...但奇怪的是,如果我使用按钮提交,它就可以工作。谢谢。我会继续搜索。
【解决方案2】:

我发现了我的问题。 我不应该在表单上添加 dropkick 类(在我的示例中为 class="ass_select"),而是在选择中添加。 这样提交就好了。

【讨论】:

    【解决方案3】:

    你可以这样做:

    $('.ass_select').dropkick({
      change: function (value, label) {
          $(this.form).submit();//changed here
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2020-09-02
      • 1970-01-01
      • 2021-07-07
      • 2012-10-29
      • 1970-01-01
      • 2021-03-24
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多