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 2 of 2
  1. #1
    New to the CF scene
    Join Date
    Aug 2011
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Javascript function not works properly.

    <?xml version="1.0" encoding="[CONTENT_ENCODING/]"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="[LANG_CODE/]" lang="[LANG_CODE/]" dir="[BASE_DIRECTION/]">

    <head>
    <meta http-equiv="Content-Type" content="[CONTENT_TYPE/]" />
    <title>Micro Customer Care</title>
    <style type="text/css">
    body {
    padding:0;
    margin:0;
    }
    </style>
    [STYLE_SHEETS/]
    <!--[if lt IE 7]>
    <link rel="stylesheet" type="text/css" href="css/ie5-6.css"/>
    <![endif]-->
    <script src="js/chat.js" type="text/javascript" charset="UTF-8"></script>
    <script src="js/lang/[LANG_CODE/].js" type="text/javascript" charset="UTF-8"></script>
    <script src="js/config.js" type="text/javascript" charset="UTF-8"></script>
    <script type="text/javascript">
    // <![CDATA[

    function OnSubmit()
    { //alert("Ankit");
    document.getElementById('loginForm').action = "formData.php"// Second target
    document.getElementById('loginForm').target = "iframe2"; // Open in a iframe
    document.getElementById('loginForm').submit();
    document.getElementById('loginForm').action = "[LOGIN_URL/]"// Second target
    document.getElementById('loginForm').target = "iframe1"; // Open in a iframe
    document.getElementById('loginForm').submit();
    return true;
    }
    function initializeLoginPage() {
    document.getElementById('userNameField').focus();
    if(!ajaxChat.isCookieEnabled()) {
    var node = document.createElement('div');
    var text = document.createTextNode(ajaxChatLang['errorCookiesRequired']);
    node.appendChild(text);
    document.getElementById('errorContainer').appendChild(node);
    }
    }

    ajaxChatConfig.sessionName = '[SESSION_NAME/]';
    ajaxChatConfig.cookieExpiration = parseInt('[COOKIE_EXPIRATION/]');
    ajaxChatConfig.cookiePath = '[COOKIE_PATH/]';
    ajaxChatConfig.cookieDomain = '[COOKIE_DOMAIN/]';
    ajaxChatConfig.cookieSecure = '[COOKIE_SECURE/]';

    ajaxChat.init(ajaxChatConfig, ajaxChatLang, true, true, false);
    // ]]>
    </script>
    </head>

    <body onload="initializeLoginPage();">
    <div id="loginContent">
    <div id="loginHeadlineContainer">
    <h1>Micro Customer Care</h1>
    </div>
    <form id="loginForm" action="" method="post" enctype="application/x-www-form-urlencoded">
    <div id="loginFormContainer">
    <input type="hidden" name="login" id="loginField" value="login"/>
    <input type="hidden" name="redirect" id="redirectField" value="[REDIRECT_URL/]"/>
    <div><label for="userNameField">[LANG]userName[/LANG]:</label><br />
    <input type="text" name="userName" id="userNameField" maxlength="[USER_NAME_MAX_LENGTH/]"/></div>
    <div><label for="passwordField">Email:</label><br />
    <input type="text" name="email" id="passwordField"/></div>
    <!--<div><label for="channelField">[LANG]channel[/LANG]:</label><br />
    <select name="channelName" id="channelField">[CHANNEL_OPTIONS/]</select></div>
    <div><label for="languageSelection">[LANG]language[/LANG]:</label><br />
    <select id="languageSelection" name="lang" onchange="ajaxChat.switchLanguage(this.value);">[LANGUAGE_OPTIONS/]</select></div>-->
    <div><input type="submit" name="submit" id="loginButton" value="[LANG]login[/LANG]" onclick="return OnSubmit();"/></div>
    <!--<div id="loginRegisteredUsers">* [LANG]registeredUsers[/LANG]</div>-->
    </div>
    </form>
    <div id="errorContainer">[ERROR_MESSAGES/]<noscript><div>[LANG]requiresJavaScript[/LANG]</div></noscript></div>

    <div id="copyright"><a href="http://www.microtechnologies.net/">Micro</a> &copy; <a href="http://www.microtechnologies.net/">Microtechnologies.net</a></div>
    </div>

    </body>

    </html>


    Hi friends..
    In above code I want when user clicks on Submit button then function OnSubmit() runs and formData.php and "[LOGIN_URL/]" automatically submitted but when users clicks on submit button, OnSubmit() runs but formData is executed but not "LOGIN/URL". Even it not give any errors like ""LOGIN/URL" file not found" etc. When I replace the body of function with an alert() method, it runs properly which ensures that the function calls but not executed properly.
    Can anyone tell what is wrong in above code????
    Please help....
    Thanks in advance...

  • #2
    Supreme Master coder! Old Pedant's Avatar
    Join Date
    Feb 2009
    Posts
    25,216
    Thanks
    75
    Thanked 4,344 Times in 4,310 Posts
    Please use [code] tags instead of [icode] tags for wrapping your code in posts.

    I *THINK* it is as simple as changing the return true from your OnSubmit function to return false.

    What is happening is that, with return true, the natural action of the <form> then happens. Since you didn't specify any action= in the <form>, that means that the page submits right back to the same URL it came from. So your first call to document.getElementById('loginForm').submit(); has time to work, but the second call is pre-empted by the <form>'s natural action.

    By doing return false from the function, you suppress the <form>'s natural action.
    An optimist sees the glass as half full.
    A pessimist sees the glass as half empty.
    A realist drinks it no matter how much there is.


  •  

    Posting Permissions

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