var document.getElementById(" title")。value;问题

时间:2014-01-25 10:12:12

标签: javascript

您好我有一个表单,但是当它提交时,所有字段都是空白的。我在这里做错了什么?

<form><p>
        Remind me about: <input type="text" id="title"><br>
        Where: <input type="text" id="where">
        Notes: <input type="text" id="notes"><br>
        Start Date and Time: <input type="datetime" id="startDate" placeholder="October 13, 1975 11:10:00">
        End Date and Time: <input type="datetime" id="endDate" placeholder="October 13, 1975 11:15:00"><br>
        <input type="submit" onclick="calendarDemoAdd(this.form)"></p>
      </form>

和Javascript:

var startDate = new Date(document.getElementById("startDate").value);
var endDate = new Date(document.getElementById("endDate").value);


var title = document.getElementById("title").value;
var where = document.getElementById("where").value;
var notes = document.getElementById("notes").value;

var calSuccess = function(message) { alert("Success: " + JSON.stringify(message)); };
var calError = function(message) { alert("Error: " + message); };
function calendarDemoAdd() {window.plugins.calendar.createEvent(title,
where,notes,startDate,endDate,calSuccess,calError);
}

3 个答案:

答案 0 :(得分:1)

您未能提供输入元素name属性。

只有名字的控件才能成功。

有可能(虽然它不会遵循Progressive EnhancementUnobtrusive JavaScript的原则)用JavaScript替换<form>的数据收集和编码功能,但是没有表明您拥有的JS正在这样做。

答案 1 :(得分:1)

看起来所有输入字段都缺少名称属性

<form><p>
    Remind me about: <input type="text" name="title" id="title"><br>
    Where: <input type="text" name="where" id="where">
    Notes: <input type="text" name="notes" id="notes"><br>
    Start Date and Time: <input type="datetime" name="startDate" id="startDate" placeholder="October 13, 1975 11:10:00">
    End Date and Time: <input type="datetime" name="endDate" id="endDate" placeholder="October 13, 1975 11:15:00"><br>
    <input type="submit" onclick="calendarDemoAdd(this.form)"></p>
  </form>

答案 2 :(得分:0)

实际修复

function calendarDemoAdd() {
var title = document.getElementById("title").value;
var where = document.getElementById("where").value;
var notes = document.getElementById("notes").value;
  window.plugins.calendar.createEvent(title,where,notes,startDate,endDate,calSuccess,calError);
}

原因是在运行函数之前填充了变量。