Sebastian
Sebastian

Reputation: 3628

Javascript/jQuery not working in IE

This code works in all browsers except for IE. Anything I can do to add support for it?

<script type="text/javascript">
$(document).ready(function() {
  var currentArrayNum = 2;
  $('#names').on({
    blur: function() {
        currentArrayNum += 1;
        var name = $("<p><input class='input' type='text' name='guests[]' value='' /></p>");

        var nullFields = 0;
        $(this).closest('div#names').find('input.input').each(function(){
            if($(this).val() == ""){
                nullFields++;
            }
        });
        console.log(nullFields);

        if(nullFields <= 1){
          $('#names').append(name.fadeIn(500));
          $('#leftbox').scrollTop($('#leftbox')[0].scrollHeight);
        }
    }
}, 'input');
 });
</script>

It should mean that extra input fields are added. You can see it in action (in FF, Chrome, Safari etc) under 'Enter names for the guestlist' here.

EDIT

Tested in IE9 but doesn't work for me.

I should also ask if there's a way of testing in different versions of IE (and othe browsers) on a Mac?

Upvotes: 0

Views: 914

Answers (2)

Dzeimsas Zvirblis
Dzeimsas Zvirblis

Reputation: 397

I know your question is about a week old but Im not sure if you found a solution or the reason for the cross-browser issues. I was recently working on a custom modal pop up window and I needed to find my scrollTop. Trust me, I love jQuery to death and I use it everyday but sometimes you need to use some good ol' javaScript. I.E accesses the body of the DOM differently than say Chrome or FF.

//I.E.
document.documentElement.scrollTop;

//Chrome, FF, etc.
document.body.scrollTop;

Basically, create a script that detects the user's browser and then include a conditional statement that will assign the value the appropriate way.

//Detect Browser
if (clientBrowser == "IE") {

    currTopPos = document.documentElement.scrollTop;
} else {

    currTopPos = document.body.scrollTop;
}

I created a script for one of the current projects Im working on, let me know if you would like to take a look at it.

Upvotes: 0

Pete
Pete

Reputation: 2558

Note that in some (all?) versions of IE, you need to have developer ("F12") tools open for console.log to work, otherwise console is undefined and so console.log() throws an error.

That may be your issue.

Upvotes: 6

Related Questions