document.form.submit(); won't submit in safari

2019-07-15 11:01发布

I'm using a javascript function to submit my form. This works in every browser except safari and I can't figure out why

My javascript function looks like this

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();
}

and in my form I use this

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

3条回答
在下西门庆
2楼-- · 2019-07-15 11:31

Try changing the form element from a type="submit" to type="button". Both should work but it's worth a try.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-07-15 11:35

does document.subForm.sel_guides point to a select list?

if so I would revise your code to (presuming subForm is the name of your form):

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();
}
查看更多
smile是对你的礼貌
4楼-- · 2019-07-15 11:37

I seemed to have fixed it using document.subForm['0'].submit(); instead of document.subForm.submit(); No idea why that would make a difference but its not giving me any problems now. Works on the other browsers too.

查看更多
登录 后发表回答