2015-09-06 6 views
-5

Мне нужно отправить мою форму на основе тайм-аута таймера. Это не вызов формы submit. Пожалуйста, предложите мнеJavaScript setInterval call form.submit

Я звоню StartTimer в document.ready

$(document).ready(function(){ 
    var duration = 60*20; 
    display = $('#timer'); 
    startTimer(duration, display); 

    $.fn.disableSelection = function() { 
    return this 
      .attr('unselectable', 'on') 
      .css('user-select', 'none') 
      .on('selectstart', false); 
    }; 

    $("#question_container").disableSelection(); 
}); 

function startTimer(duration, display) { 
    var timer = duration, minutes, seconds; 
    setInterval(function() 
    { 
     minutes = parseInt(timer/60, 10); 
     seconds = parseInt(timer % 60, 10); 

     minutes = minutes < 10 ? "0" + minutes : minutes; 
     seconds = seconds < 10 ? "0" + seconds : seconds; 

     display.text(minutes + ":" + seconds); 

     if (--timer < 0) { 
      $("#questionform").submit(); 
     } 
    }, 1000); 
} 
setInterval ("autosubmit()", 5000000); 
function autosubmit() 
{ 
document.theFormName.submit; 
} 
+0

Что 'autosubmit'? Где его определение? – hindmost

+0

Я добавил код autosubmit –

+0

Любые ошибки в консоли? – kulaeff

ответ

-1

Просто измените

setInterval ("autosubmit()", 5000000); 

в

setInterval (autosubmit, 5000000); 

Вот больше деталей https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval

+0

Передача функции вместо строки, которую нужно оценить, но не сделает jot разницы (если 'autosubmit' не является глобальным, но нет никаких признаков этого) – Quentin

2

document.theFormName.submit; не делает ничего. Он просто обращается к функции, а затем игнорирует ее.

Если вы хотите назвать это, то вы на самом деле назвать это:

document.theFormName.submit(); 
+0

i были изменены, но форма не отправлена ​​ –

+0

Вы ждете полтора часа (5000000 мс), на который вы установили таймер? – Quentin

+0

Я использую 3 секунды для тестирования в var duration = 1 * 3; –

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