CodeIgniter Forums
Validation on IE7 - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forumdisplay.php?fid=20)
+--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forumdisplay.php?fid=23)
+--- Thread: Validation on IE7 (/showthread.php?tid=11089)



Validation on IE7 - El Forum - 08-25-2008

[eluser]taewoo[/eluser]
Hi everyone.

I have a form with custom validation. Basically, it makes sure that the name of a group is unique by looking up the name before trying to insert the record (via "callback_XYZ" feature of CI validation). On FF3, it works fine.. but in IE7, it looks like the form is submitting TWICE (with single form submit "click") b/c the record is added on the DB (i made sure the table is empty) and validation comes back saying that the name is taken.

From this my only guess is that IE7 is somehow submitting twice.
IS there a solution to this? It's making me pull my hair out! :/


Validation on IE7 - El Forum - 09-02-2008

[eluser]Dan Dar3[/eluser]
Hi Taewoo,

Try starting IE without addons, see if you have the same problem, Start > Run > iexplore.exe -extoff

Check your code, maybe you have a submit button with an onSubmit handler that does submit without returning false?! clearly a shot in the dark :-)

HTH,
Dan


Validation on IE7 - El Forum - 09-02-2008

[eluser]taewoo[/eluser]
Hi Dan.
Thanks for the insight.
The problem with the addon solution is that i won't be able to guarantee that the user has IE w/o addon. THat's more of a hack solution so I can't use that. The "return false" issue is something i looked already (and it's there).

If anyone's interested, I solved this issue by checking for uniqueness of data by doing ajax check. It's not the hottest solution but shoot, it works!


Validation on IE7 - El Forum - 09-02-2008

[eluser]Dan Dar3[/eluser]
Hi Taewoo,

Great you fixed your problem. If you have a webpage from where you inspired for your solution, feel free to post that, others might be interested as well - I know I would give it a quick glance.

Dan


Validation on IE7 - El Forum - 09-02-2008

[eluser]taewoo[/eluser]
Since CI community is so giving, i shall give back. Smile

Controller/method that gets called
Code:
function search_club_name($city, $state, $name)
    {        
        header('Content-Type: application/json');
        $this->load->model('club_model');    
        $club_names = $this->club_model->getByClubUrl( $city, $state, $name );
        echo count($club_names);
    }

And the AJAX code

Code:
var url = '/ajax/search_club_name/'+  city_string + "/" + state_string + "/" + name_string;
        new Ajax.Request(url, {
              method: 'get',
              onComplete: function(response) {
                  //alert('Complete: ' +  Object.inspect(response.responseText));
                  if(response.responseText == 0) {
                      submitClubForm();
                  } else {
                      var msg = 'Club name"' + name_string + '" has been taken for city of '+ city_string +', '+ state_string + '. Please choose a different name/city combination.'  
                      alert(msg);
                  }
              }
          });



Validation on IE7 - El Forum - 09-02-2008

[eluser]Dan Dar3[/eluser]
On behalf of the community, big thumbs up! :-)


Validation on IE7 - El Forum - 09-05-2008

[eluser]taewoo[/eluser]
Oops.. one other thing.. IE caches ajax requests. To prevent this..
Code:
var url = '/ajax/search_club_name/'+  city_string + "/" + state_string + "/" + name_string + '/' + Math.random();

I was pulling out my hair when I kept seeing old data (even when the table had NO DATA!).

IE's the #1 cause of baldness among developers.