...

View Full Version : Javascript function not works properly.



ankit.pandey3
08-30-2011, 08:29 AM
<?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="[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:</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">channel:</label><br />
<select name="channelName" id="channelField">[CHANNEL_OPTIONS/]</select></div>
<div><label for="languageSelection">language:</label><br />
<select id="languageSelection" name="lang" onchange="ajaxChat.switchLanguage(this.value);"></select></div>-->
<div><input type="submit" name="submit" id="loginButton" value="[LANG]login" onclick="return OnSubmit();"/></div>
<!--<div id="loginRegisteredUsers">* registeredUsers</div>-->
</div>
</form>
<div id="errorContainer">[ERROR_MESSAGES/]<noscript><div>requiresJavaScript</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...

Old Pedant
08-30-2011, 08:33 PM
Please use [code] tags instead of 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 [icode]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.



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum