无法从javascript中的窗体获取值

无法从javascript中的窗体获取值,javascript,jquery,html,Javascript,Jquery,Html,我试图得到这个表单中不同输入的值: <form class="form-horizontal" role="form" id="form_newCours"> <div class="form-group"> <label class="control-label col-sm-2" for="discipline">Matiere:</label> <div class="co

我试图得到这个表单中不同输入的值:

<form class="form-horizontal" role="form" id="form_newCours">
        <div class="form-group">
            <label class="control-label col-sm-2" for="discipline">Matiere:</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" id="discipline" placeholder="Matiere">
            </div>
        </div>
        <div class="form-group" align="left">
            <label class="control-label col-sm-2" for="datetimepicker">Date:</label>
            <div class="input-group col-sm-4">
                        <input type="text" class="form-control" id="datetimepicker"/>
                        <span class="input-group-addon">
                            <span class="glyphicon glyphicon-calendar"></span>
                        </span>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <div class="checkbox">
                <label><input type="checkbox" id="creneau_regulier"> Ce creneau regulier</label>
              </div>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button type="submit" class="btn btn-default" id="btn-newCours">Ajouter</button>
            </div>
        </div>
 </form>

函数被调用,但变量jsonString为空。我不太熟悉JS,但是表单和输入之间的附加div会导致问题吗

编辑


另外,我正在为serializeObject()使用插件。

您应该在输入中添加name属性。

在输入中添加name属性

<form class="form-horizontal" role="form" id="form_newCours">
        <div class="form-group">
            <label class="control-label col-sm-2" for="discipline">Matiere:</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" id="discipline" placeholder="Matiere" name="discipline">
            </div>
        </div>
        <div class="form-group" align="left">
            <label class="control-label col-sm-2" for="datetimepicker">Date:</label>
            <div class="input-group col-sm-4">
                        <input type="text" class="form-control" id="datetimepicker" name="datetimepicker"/>
                        <span class="input-group-addon">
                            <span class="glyphicon glyphicon-calendar"></span>
                        </span>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <div class="checkbox">
                <label><input type="checkbox" id="creneau_regulier" name="creneau_regulier"> Ce creneau regulier</label>
              </div>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button type="submit" class="btn btn-default" id="btn-newCours">Ajouter</button>
            </div>
        </div>
 </form>


没有
serializeObject()
方法,除非您使用的是插件。只要提供
data
属性作为
$(“#form_newCours”)的结果。序列化()
并删除
contentType
,代码就可以工作。“函数被调用,但变量jsonString为空”-你怎么知道?您没有在代码中的任何地方检查它。我使用的是Firebug,它显示Post请求有一个空数据。@Spider-然后后退几步。记录
jsonString
的实际值。console.log
serializeObject()
@Spider的返回值首先为所有输入元素提供“name”,然后我认为是work,谢谢。我最初认为“id”就足够了,但它们都应该像您(和其他人)建议的那样具有“name”属性。
<form class="form-horizontal" role="form" id="form_newCours">
        <div class="form-group">
            <label class="control-label col-sm-2" for="discipline">Matiere:</label>
            <div class="col-sm-4">
                <input type="text" class="form-control" id="discipline" placeholder="Matiere" name="discipline">
            </div>
        </div>
        <div class="form-group" align="left">
            <label class="control-label col-sm-2" for="datetimepicker">Date:</label>
            <div class="input-group col-sm-4">
                        <input type="text" class="form-control" id="datetimepicker" name="datetimepicker"/>
                        <span class="input-group-addon">
                            <span class="glyphicon glyphicon-calendar"></span>
                        </span>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <div class="checkbox">
                <label><input type="checkbox" id="creneau_regulier" name="creneau_regulier"> Ce creneau regulier</label>
              </div>
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
              <button type="submit" class="btn btn-default" id="btn-newCours">Ajouter</button>
            </div>
        </div>
 </form>
var jsonString = JSON.stringify($('#form_newCours').serializeObject());
var jsonString = $('#form_newCours').serializeJSON();