2014-02-12 7 views
0

У меня есть эта проблема. Я пытаюсь сделать кнопку «щелкнуть ее самостоятельно», используя функцию setTimeout в javascript. Мне нужна эта небольшая часть кода для работы, чтобы смоделировать обновление. Проблема в том, что кнопка, в которой я вызываю обновление, находится в теге формы, эта операция выполняется только один раз, а не постоянно повторяется сама. Вот мой javascriptВызов рекурсивного javascript в форме

<script language="javascript" type="text/javascript"> 

function ClickMe(){ 
     setInterval('document.getElementById("auto").click()',5000); 
     alert("Function works"); 
} 

</script> 

Вот элемент, на котором я его называю.

<form> 
    <input id="auto" type="submit" value="Click" onClick="ClickMe()" /> 
</form> 

Если удалить «<form></form>» тег, код работает нормально, вызвав себя снова и снова каждые 5 секунд. Byt, как только вы добавите тег «<form>», функция вызывается только один раз. Если кто-то сможет мне помочь, я буду очень благодарен. Благодаря

+0

Поскольку '

' уже подана и страница обновляется таким образом, обновляет скрипт (предыдущий 'setInterval()' бы, был, в неспециалист условия: * «забыл» *), быстрый вопрос, хотя - * почему ты хочешь это сделать? – MackieeE

+0

вы можете оставить еще одну кнопку за пределами формы. –

+0

На самом деле, я работаю над проектом в groovy и grails, и я столкнулся с аналогичной проблемой, используя /. То, что я пытаюсь сделать, - это обновить раздел моей страницы после нажатия кнопки один раз, снова и снова, как способ воспроизведения динамического отображения. Обновление работает, но теперь я должен найти способ автоматического обновления раздела на странице – user3295929

ответ

1

По какой-то причине вы хотите, чтобы это сделать, просто изменить ваш отправить на кнопку, как так:

<input id="auto" type="button" value="Click" onClick="ClickMe()" /> 

также, следует отметить, что вы собираетесь держать создавая все больше и больше интервалов для этого каждый раз он бежал.

+0

Кажется, что основная проблема связана с типом ввода, как вы предложили. Я хотел бы спросить, нет ли способа сделать эту работу с кнопкой типа «submit»? – user3295929

+0

http://stackoverflow.com/questions/8664486/javascript-to-stop-form-submission – Prisoner

0

Когда вы завершаете ввод формой, форма отправляется, вы можете избежать этого, вернув false в функцию ClickMe.

function ClickMe(){ 
    setInterval('document.getElementById("auto").click()',5000); 
    alert("Function works"); 
    return false; 
} 
Смежные вопросы