【问题标题】:How to send data from the elements with a class selected如何从选定类的元素发送数据
【发布时间】:2016-02-09 17:41:28
【问题描述】:

问题示例:

我有html:

<form action="GET">
  <button onclick="$(this).toggleClass('selected')">2000</button>
  <button onclick="$(this).toggleClass('selected')">2001</button>
  <button onclick="$(this).toggleClass('selected')">2002</button>
  <button onclick="$(this).toggleClass('selected')">2003</button>
  <button onclick="$(this).toggleClass('selected')">2004</button>
  <button onclick="$(this).toggleClass('selected')">2005</button>
  <button onclick="$(this).toggleClass('selected')">2006</button>
  <button onclick="$(this).toggleClass('selected')">2007</button>
  <input type="submit" value="submit" />
</form>

以及部分示例数据库:

year  |  title  |  ...
2000  |  film1
2000  |  film2
2002  |  film3
2001  |  film4
....  |  .....

我需要根据选定的字段搜索数据库记录。

【问题讨论】:

  • 你从头开始尝试的code for search 在哪里?
  • 给你的按钮一个 name 属性,也许将它们更改为 type=button 的 inputs
  • 为什么你的表单的action属性有“GET”?

标签: javascript php get


【解决方案1】:

你不能只用一个班级来做这件事。发送表单时,您必须确保发送了具有name 属性的正确input 元素。我要做的是删除内联 JS 并添加到切换类以禁用/启用相应的输入。试试这个:

<form action="submit.php" method="post">
    <button type="button">
        2000
        <input type="hidden" name="options[]" value="2000" disabled>
    </button>

    <button type="button">
        2001
        <input type="hidden" name="options[]" value="2001" disabled>
    </button>

    <button type="button">
        2002
        <input type="hidden" name="options[]" value="2002" disabled>
    </button>

    <button type="button">
        2003
        <input type="hidden" name="options[]" value="2003" disabled>
    </button>

    <input type="submit" value="submit"/>
</form>


<script>
    $('button').click(function () {
        $(this).toggleClass('selected').promise().done(function () {
            if ($(this).hasClass('selected')) {
                $(this).find('input').prop('disabled', false);
            } else {
                $(this).find('input').prop('disabled', true);
            }
        });
    });
</script>

您的submit.php 将得到如下结果:

array (size=1)
  'options' => 
    array (size=2)
      0 => string '2000' (length=4)
      1 => string '2002' (length=4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多