【问题标题】:Form not submitting Option Input value on POST表单未在 POST 上提交选项输入值
【发布时间】:2014-03-10 15:58:59
【问题描述】:

得到了一个由文本输入和选项选择输入组成的简单表单。提交时,Firebug 向我显示在 POST 上没有发送选项输入中的值,只有文本一中的值。检查其他类似问题后,没有发现任何拼写错误...

表格:

<form id="turn_conf" method="POST" action="config/forms/turn_conf/turn_insert.php">
    <div class="smartFormContent">
        <p class="inputForm">
            <label for="nombre">Nombre:</label>
            <input id="tu_name" class="" type="text" value="" name="tu_name">
        </p>
        <p class="inputForm">
            <label for="tipo">Tipo turno:</label>
            <select id="tu_type" class="" name="tu_type">
                 <option value="1">Mañana</option>
                 <option value="2">Tarde</option>
                 <option value="3">Noche</option>
            </select>
        </p>
        <input class="smartFormSubmit" type="submit" value="Crear" name="submit">
    </div>
</form>

Firebug 将发布的数据显示为:

FIY:这个 POST 表单是 jQuery 发送的,代码如下:

function validaDatos(e) 
{
    var turnName = $('input[name=tu_name]').val();
    var turnType = $('input[name=tu_type]').val();

    $.post($(this).attr('action'), { tu_name:turnName, tu_type:turnType }).success(feedback);
    var emptyRow='<div class="tableRow newRow"><div class="contentColumn60"><span class="tableContentText"></span></div><div class="contentColumn20"><span class="tableContentText"></span></div><div class="contentColumn10"><div class="tableIconLink"></div></div><div class="contentColumn10"><div class="tableIconLink"></div></div></div>';
    $(emptyRow).prependTo('.tableContent').hide().slideDown(500);
messageInsert();
e.preventDefault(); 
}

function feedback (datos) {
    var content= datos;
    $('.newRow').html(datos);
}

【问题讨论】:

  • 发布 jQuery 方法 ;)
  • @CarlMarkham jQuery 的函数已添加到问题中。谢谢。
  • tu_type 不是输入,是选择
  • 谢谢@ArnauOrriols,我将尝试使用'select[name=...

标签: php jquery html forms post


【解决方案1】:

有重复的FORM标签:

<form method="POST" action="config/forms/turn_conf/turn_insert.php" id="turn_conf">

<form id="turn_conf" method="POST" action="config/forms/turn_conf/turn_insert.php">

这可能会导致浏览器无法正确发布数据。

这两个 FORM 标签也共享相同的 ID,这是不允许的 id="turn_conf"

【讨论】:

  • 这看起来像是问题中的错误,在实际代码中不太可能。
  • @jtherman 对不起,这是复制/粘贴的错误,我真的不知道为什么会出现这种情况,因为只有一个 FORM 开始标签。 Xcuse 为此。感谢您的关注。
【解决方案2】:
var turnType = $('input[name=tu_type]').val()

tu_type 不是输入,是选择。这将起作用:

var turnType = $('select[name=tu_type]').val()

【讨论】:

  • 就是这样。格拉西亚斯·阿尔瑙。
猜你喜欢
  • 2019-04-27
  • 2014-10-23
  • 2019-02-07
  • 2016-06-11
  • 2019-06-29
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多