2014-01-25 5 views
0

Привет У меня есть форма, но когда она отправляется, все поля пусты. Что я здесь делаю неправильно?var document.getElementById ("title"). Value; issue

<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); 
} 

ответ

1

Вы не смогли дать входные элементы name атрибуты.

Только элементы управления с именами могут быть успешными.

Вполне возможно (хотя бы не следовать принципам Progressive Enhancement и Unobtrusive JavaScript), чтобы заменить сбор данных и функциональность кодирования в <form> с JavaScript, но нет никаких признаков того, что JS вас есть делает это.

+0

Hi Quentin. Я добавил имена, как было предложено, но все равно получаю только пустые поля. Может ли быть что-нибудь еще? Если я выполняю следующее, он отлично работает: var title = "this is Title"; и т. Д. и т. Д. – user2110655

+0

Если проблема связана с чтением данных в JavaScript (в отличие от отправки формы, как говорится в этом вопросе), вам необходимо предоставить гораздо больше информации о том, что делает JS, как вы запускают его, как вы тестируете значения и что сообщает консоль ошибок JavaScript браузера. – Quentin

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> 
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); 
} 

Причина заключается в том, что переменные были заселены, прежде чем функция была запущена.

Смежные вопросы