2010-03-09 55 views
2

我正在使用JavaScript函數提交我的表單。這適用於每一個瀏覽器除了Safari和我想不通爲什麼document.form.submit();將不會在Safari中提交

我的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-c​​an-done) – 2011-04-28 16:26:53

+0

http://stackoverflow.com/questions/333329/firefox-handles-xxx-submit-safari-doesnt-what-c​​an-be-done – 2011-04-28 16:27:03

回答

0

試着改變形式元素從一個type =「submit」改爲type =「button」。 兩者都應該工作,但它是值得一試。

+1

我試過,但它仍然不提交。 – user284584 2010-03-09 15:58:58

+0

如果除了submit()調用以外的其他功能,所有內容都不會提交? ()調用 – 2010-03-09 16:01:21

+3

。 而不是 document.subForm.submit(); 不知道爲什麼這會有所作爲,但它現在不給我任何問題。也適用於其他瀏覽器。 感謝您的幫助! – user284584 2010-03-09 16:20:09

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 2010-03-09 16:22:25

+0

這並沒有真正與選擇列表,但感謝您的幫助! – user284584 2010-03-09 16:30:49

+0

您的選擇列表的HTML看起來像什麼?如果你能提供它,我相信我可以爲你解決這個問題。 – scunliffe 2010-03-10 14:12:56

1

我似乎它使用document.subForm [0]提交給有固定的()。 而不是document.subForm.submit(); 不知道爲什麼這會有所作爲,但它現在不給我任何問題。也適用於其他瀏覽器。