表单提交<选择>为未定义

Form submits <select> as undefined

本文关键字:未定义 选择 表单提交      更新时间:2023-09-26

我在使用 ajax 提交的<form>中有以下<select>。所选内容正在提交,值为:未定义。怎么了?

<select class="form-control" name="site_theme" id="site_theme" value="<?php $result = mysqli_query($con,"SELECT * FROM settings"); while($row = mysqli_fetch_array($result)) { echo $row['site_theme']; }?>">
   <?php 
      $result = mysqli_query($con,"SELECT * FROM themes");
      while($row = mysqli_fetch_array($result))
      {
        echo "<option VALUE='".$row['theme_name']."'>".$row['theme_name']."</option>";
      }
    ?>
</select>

javascript复制到这里丑陋地发布,所以我在这里做了一个jsFiddle:http://jsfiddle.net/yz5r4/

上面的代码结果也为:

<select class="form-control" name="site_theme" id="site_theme" value="Amelia">
   <option value="Amelia">Amelia</option>
   <option value="Cerulean">Cerulean</option>
   <option value="Cosmo">Cosmo</option>
   <option value="Cyborg">Cyborg</option>
   <option value="Flatly">Flatly</option>
   <option value="Journal">Journal</option>
   <option value="Readable">Readable</option>
   <option value="Simplex">Simplex</option>
   <option value="Slate">Slate</option>
   <option value="Spacelab">Spacelab</option>
   <option value="United">United</option>
</select>

你的问题首先是Ajax调用之前的返回。

第二个错误的选择器选择!

下面是一个示例,向您展示。http://jsfiddle.net/yz5r4/3/

您的选择器 : $('input$("#site_theme")')

但它应该是$("#site_theme")$("select#site_theme")

.HTML:

<select class="form-control" name="site_theme" id="site_theme" value="Amelia">
   <option value="Amelia">Amelia</option>
   <option value="Cerulean">Cerulean</option>
   <option value="Cosmo">Cosmo</option>
   <option value="Cyborg">Cyborg</option>
   <option value="Flatly">Flatly</option>
   <option value="Journal">Journal</option>
   <option value="Readable">Readable</option>
   <option value="Simplex">Simplex</option>
   <option value="Slate">Slate</option>
   <option value="Spacelab">Spacelab</option>
   <option value="United">United</option>
</select>
<input type="button" id="mclick" value="click" />

.JS:

// General Form Submit
$(function () {
    $('.error').hide();
    $("#mclick").click(function () {
        // validate and process form here  
        var theme = $("#site_theme").val();
        alert(theme);
    });
});