Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New to the CF scene
    Join Date
    May 2009
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    don't work in firefox and google chrome

    hi all, this is my first post here and first day on this forum
    i use this script:
    but I added more fields. The script is work greate in Opera and IE, but in firefox and google chrome only first field is fine and i don't know why.
    this is the script:
    Here is the JS code:
    // form validation function //
    function validate(form) {
    var movie = form.movie.value;
    var year = form.year.value;
    var language = form.language.value;
    var subtitle = form.subtitle.value;
    var key = form.key.value;
    var description = form.description.value;
    var file = form.file.value;
    if(movie == "") {
    inlineMsg('movie','You must enter the movie name.',2);
    return false;
    }
    if(year == "") {
    inlineMsg('year','Please select year.',2);
    return false;
    }
    if(language == "") {
    inlineMsg('language','Please select language.',2);
    return false;
    }
    if(subtitle == "") {
    inlineMsg('subtitle','You must enter the subtitle name.',2);
    return false;
    }
    if(key == "") {
    inlineMsg('key','You must enter the keywords.',2);
    return false;
    }
    if(description == "") {
    inlineMsg('description','You must enter the description.',2);
    return false;
    }
    if(file == "") {
    inlineMsg('file','Please select a file!.');
    return false;
    }
    if(document.form.file.value.search(/\.(rar|zip)$/) == -1) {
    inlineMsg('file','Only rar and zip file are accepted!',2);
    return false;
    }
    return true;
    }

    // START OF MESSAGE SCRIPT //

    var MSGTIMER = 20;
    var MSGSPEED = 5;
    var MSGOFFSET = 3;
    var MSGHIDE = 3;

    // build out the divs, set attributes and call the fade function //
    function inlineMsg(target,string,autohide) {
    var msg;
    var msgcontent;
    if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
    } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
    }
    msgcontent.innerHTML = string;
    msg.style.display = 'block';
    var msgheight = msg.offsetHeight;
    var targetdiv = document.getElementById(target);
    targetdiv.focus();
    var targetheight = targetdiv.offsetHeight;
    var targetwidth = targetdiv.offsetWidth;
    var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
    var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
    msg.style.top = topposition + 'px';
    msg.style.left = leftposition + 'px';
    clearInterval(msg.timer);
    msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
    if(!autohide) {
    autohide = MSGHIDE;
    }
    window.setTimeout("hideMsg()", (autohide * 1000));
    }

    // hide the form alert //
    function hideMsg(msg) {
    var msg = document.getElementById('msg');
    if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
    }
    }

    // face the message box //
    function fadeMsg(flag) {
    if(flag == null) {
    flag = 1;
    }
    var msg = document.getElementById('msg');
    var value;
    if(flag == 1) {
    value = msg.alpha + MSGSPEED;
    } else {
    value = msg.alpha - MSGSPEED;
    }
    msg.alpha = value;
    msg.style.opacity = (value / 100);
    msg.style.filter = 'alpha(opacity=' + value + ')';
    if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
    } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
    }
    }

    // calculate the position of the element in relation to the left of the browser //
    function leftPosition(target) {
    var left = 0;
    if(target.offsetParent) {
    while(1) {
    left += target.offsetLeft;
    if(!target.offsetParent) {
    break;
    }
    target = target.offsetParent;
    }
    } else if(target.x) {
    left += target.x;
    }
    return left;
    }

    // calculate the position of the element in relation to the top of the browser window //
    function topPosition(target) {
    var top = 0;
    if(target.offsetParent) {
    while(1) {
    top += target.offsetTop;
    if(!target.offsetParent) {
    break;
    }
    target = target.offsetParent;
    }
    } else if(target.y) {
    top += target.y;
    }
    return top;
    }

    // preload the arrow //
    if(document.images) {
    arrow = new Image(7,80);
    arrow.src = "images/msg_arrow.gif";
    }
    Sorry 4 my english.

  • #2
    Regular Coder
    Join Date
    Feb 2009
    Location
    Wheeling, IL
    Posts
    358
    Thanks
    5
    Thanked 62 Times in 60 Posts
    Considering inlineMsg works based off of IDs... no wonder it breaks. Every element you're checking _needs_ to have an id... pretty much the one you put in:

    Code:
    inlineMsg('language','Please select language.',2);
    Double-check your HTML mark-up, then try again. Additionally, you might want to work with else ifs for each check, that way you won't have to deal with the message moving to the last possible field when it actually does work. Just don't forget the else at the end... like so:

    Code:
    else if(document.form.file.value.search(/\.(rar|zip)$/) == -1) {
        inlineMsg('file','Only rar and zip file are accepted!',2);
        return false;
    }
    else
        return true;
    See how that goes for you.
    The way to success is to assume that there are no impossible things. After all, if you think something is impossible, you will not even try to do it.

    How to ask smart questions?

  • #3
    New to the CF scene
    Join Date
    May 2009
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts
    resolved, thank you! was from HTML
    Last edited by marian2oo7; 05-21-2009 at 07:09 AM.


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •