(javascript) onClick = "form.submit (); does not work in IE and Opera

I have a code (see below). It works fine in Firefox: it saves the information provided after clicking the __ JL_SAVE button and saves the user on one page. But in Internet Explorer and Opera, it only redirects to the index page (index.php) and does not save the information provided. What can I do to solve this problem? Thanks.

Here is my code:

<form action="index.php" id="mosForm" method="post" enctype="multipart/form-data"> <fieldset> <legend><?=__JL_ABOUT_MYSELF?></legend> <span class="a" onclick="showHideLegend('about_myself_1')"><?=__JL_EDIT_BLOCK;?></span> <div id="about_myself_descr" style="display: block"><?=__JL_SELF_DESCR;?></div> <div id="about_myself_1" style="display: none"><?php include "html/about_myself_fill.php"?></div> <div id="about_myself_2""><?php include "html/about_myself_show.php"?></div> </fieldset> <fieldset> <legend><?=__JL_ABOUT_MYSELF?></legend> <span class="a" onclick="showHideLegend('type_1')"><?=__JL_EDIT_BLOCK;?></span> <?php if ($typ_block) {?> <?php /* <input type="checkbox" id="jl_type_block" name="jl_type_block" <?php if ($roon_type_block) echo 'checked ';?> /> */ ?> <input type="checkbox" id="jl_type_block" name="jl_type_block" disabled <?php echo 'checked ';?> /> <label for="jl_type_block"><?=__JL_ON_BLOCK?></label> <?php } else { echo __JL_OFF_BLOCK; }?> <div id="about_myself_descr" style="display: block"><?=__JL_SELF_DESCR;?></div> <div id="type_1" style="display : none"> <?php include "html/type.php"?> </div> <?php if ($typ_block) { ?> <div id="type_2"> <?php include "html/type_show.php"?> </div> <?php } ?> </fieldset> <fieldset> <legend><?=__JL_INTEREST?></legend> <span class="a" onclick="showHideLegend('interest_1')"><?=__JL_EDIT_BLOCK;?></span> <?php if ($interest_block) {?> <input type="checkbox" id="jl_interest_block" name="jl_interest_block" disabled <?php echo 'checked ';?> /> <label for="jl_interest_block"><?=__JL_ON_BLOCK?></label> <?php } else echo __JL_OFF_BLOCK; ?> <div id="interest_descr" style="display:block"><?=__JL_INTEREST_DESCR;?></div> <div id="interest_1" style="display:none"> <?php include "html/interest.php"?> </div> <?php if ($interest_block) { ?> <div id="interest_2"> <?php include "html/interest_show.php"?> </div> <?php } ?> </fieldset> <input type="submit" name="save" value="__JL_SAVE" onClick="mosForm.submit();" /> <input type="hidden" name="option" value="com_joomlove" /> <input type="hidden" id="task" name="task" value="save_info" /> </form> 

The full source is available here: http://narkoz.pastebin.com/f4f036f5

+7
javascript firefox internet-explorer
source share
3 answers
  • If you do not change the behavior of the form, why use JavaScript to submit the form ?, you are already in the submit button.

  • You should try to create the form name = "mosForm", not just id = "mosForm" so that you can find the DOM link from this event handler.

+8
source share

You really have to execute any sending logic in the FORM "send" event handler, and not in the "click" of one of the FORM elements. eg:.

 <form ... onsubmit="return validateForm(this);"> ... </form> 

This should ensure that the keyboard representation passes through your handler; it also gives you the ability to prevent form submission by returning the fake value from the event handler. Any legal value, on the other hand, will automatically submit the form.

+10
source share

If you have:

 <form method="post" action="somefile.php" name="form" id="form"> <button type="button" name="submit" onclick="$('#form').submit()">go</button> </form> 

Works in IE8, Opera, Chrome, but not in Firefox (14):

Firefox has a problem with: name="submit" . When you change the name attribute to: name="submit_ff" (or something else), it also works in Firefox.

+1
source share

All Articles