2010-03-09 2 views
2

Я использую функцию javascript для отправки моей формы. Это работает во всех браузерах, кроме сафари, и я не могу понять, почемуdocument.form.submit(); не будет отправлен на сафари

Моя Javascript функция выглядит следующим образом

function submitForm() { 
    var selectBox = ''; 
    sel_guide_options = document.subForm.sel_guides; 

    if (sel_guide_options.type == "select-multiple") { 
     for (var i = 0; i <sel_guide_options.options.length; i++) { 
       sel_guide_options.options[i].selected = true; 
     } 
    } 

    document.subForm.submit(); 
} 

и в моей форме я использую этот

<input type="submit" name="btnSubmit" value="#modification_type# #page_item#" id="btnSubmit" onclick="submitForm();"> 
+0

Возможный дубликат [Firefox обрабатывает xxx.submit(), Safari не ... что можно сделать?] (Http://stackoverflow.com/questions/333329/firefox-handles-xxx-submit-safari -doesnt-what-can-be-done) –

+0

http://stackoverflow.com/questions/333329/firefox-handles-xxx-submit-safari-doesnt-what-can-be-done –

ответ

0

Попробуйте изменить форму элемент из типа = "отправить" на type = "button". Оба должны работать, но стоит попробовать.

+1

Я пробовал это, но он все еще не представляет. – user284584

+0

Если вы берете все из функции, кроме вызова submit(), все равно не отправляется? –

+0

Нет, он все равно не отправит ничего в функции, кроме вызова submit() – user284584

1

делает document.subForm.sel_guides указывает на список избранных?

если это так, я бы пересмотреть свой код в (предполагая subForm является name вашей формы):

function submitForm() { 
    var selectBox = ''; 
    var sForm = document.forms['subForm']; 
    sel_guide = sForm.elements['sel_guides']; 

    if (sel_guide.type == "select-multiple") { 
     for (var i = 0; i <sel_guide.options.length; i++) { 
       sel_guide.options[i].selected = true; 
     } 
    } 
    sForm.submit(); 
} 
+0

Спасибо, я попробую это – user284584

+0

Это не работает с выбранным списком, но спасибо за помощь! – user284584

+0

Как выглядит HTML для выбранного списка? Если вы можете это предоставить, я уверен, что смогу решить это для вас. – scunliffe

1

я, казалось, закрепилась его с помощью document.subForm [ «0»] представить();. вместо document.subForm.submit(); Не знаю, почему это изменило бы ситуацию, но теперь это не дало мне никаких проблем. Работает и с другими браузерами.