2011-11-18 5 views
0

Есть ли более эффективная команда, чем эта, чтобы проверить, существует ли форма, и если да, отправьте ее? Сейчас я использую:Проверка наличия формы

if(document.forms[0])document.forms[0].submit() 

Что работает, однако если форма [0] не существует, она выдает исключение. Я пытаюсь сохранить эту динамику в том смысле, что не знаю, что такое идентификатор формы или имя.

+0

Если проблема в JavaScript - я бы даже не помечать этот вопрос поскольку WP7 –

+0

document.forms [0] является хрупким, на странице может быть более 1 формы, а если html изменяет ваш javascript, он будет нарушен. поэтому я предлагаю использовать Ids в форме. – Jason

ответ

5

Чтобы избежать исключения вы можете сделать:

if (typeof document.forms[0] !== 'undefined') document.forms[0].submit(); 
+0

То, что мне нужно, спасибо! – Joe

0

Вы не можете добавить идентификатор к форме? вы можете использовать jquery?

с идентификатором, не JQuery

var form = document.getElementById('my-form'); 
if (form != null) { 
form.submit(); 
} 

с идентификатором & Jquery

if ($("#my-form").length == 1) { 
    $("#my-form").submit(); 
} 
1

Вы можете проверить undefined:

if(document.forms[0] != 'undefined') 
    document.forms[0].submit() 
1

Если единственным требованием является то, чтобы проверить, существует ли форма, и если да, то представить первую форму, вы можете использовать:

if (document.forms.length) document.forms[0].submit(); 
Смежные вопросы