| | |
Why javascript does not work on firefox?
Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
Hello, I have a doubt about javascript. When designing web based system, usually we used javascript to validate the form. It works fine in IE browser. However, all the validation does not work when tested on firefox browser.
Why and what is the problem? How to solve it so that the application can be used in any browser?
Thank you.
Why and what is the problem? How to solve it so that the application can be used in any browser?
Thank you.
You must be using browser specific features. IE is notorious in making your code run even when it is not correct. Paste the code and we will try to help you out. The only advice we can give you is to develop for Firefox so the possibility of the code working on other browsers is more plus you get a nice Error Console and tools like FireBug.
I don't accept change; I don't deserve to live.
Here is part of the coding using C#. This is one of the module for ASP.NET web based system. Sorry if the coding are messy. The validation are mostly done using .NET validator in which is said to be javascript. Please correct me if I'm wrong.
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
// Interface <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="iso-8859-1" Inherits="AddShippingRates" Src="AddShippingRates.cs"%> <%@ Register TagPrefix="uc1" TagName="InnovaBanner" Src="InnovaBanner.ascx" %> <%@ Register TagPrefix="uc1" TagName="AdminLinks" Src="AdminLinks.ascx" %> <%@ Register TagPrefix="uc1" TagName="copyrightfooter" Src="copyrightfooter.ascx" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a rel="nofollow" class="t" href="http://www.w3.org/TR/html4/loose.dtd" target="_blank">http://www.w3.org/TR/html4/loose.dtd</a>"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>InnovaCraft-AddShippingRates</title> <link href="StyleAdmin.css" type=text/css rel=stylesheet> </head> <body> <table width="806" height="589" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#993333"> <tr> <td width="817" height="16" bgcolor="#993333"> </td> </tr> <tr> <td height="16" bgcolor="#993333" align="center"><uc1:InnovaBanner id="InnovaBanner1" runat="server"></uc1:InnovaBanner></td> </tr> <tr> <td height="16" bgcolor="#FFFFFF"><uc1:AdminLinks id="AdminLink1" runat="server"></uc1:AdminLinks></td> </tr> <tr> <td height="16" bgcolor="#993333"><span class="adminManagementTitle">Add Shipping Rates </span></td> </tr> <tr> <td height="16" bgcolor="#FFFFFF"><span class="welcome">Welcome <asp:Label ID="admin" runat="server" /> </span></td> </tr> <tr> <td height="600" valign="top" bgcolor="#FFFFFF"><form name="form1" method="post" runat="server"> <table width="800" border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top"><table width="792" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td colspan="6"><asp:Label ID="Message" Visible="false" runat="server" CssClass="adminContent"/></td> </tr> <tr> <td width="146"><span class="adminContent">Shipping Rate ID</span></td> <td colspan="5"><asp:TextBox ID="sidtxt" runat="server" Columns="5" ReadOnly="true" TextMode="SingleLine" /></td> </tr> <tr> <td><span class="adminContent">Country</span></td> <td colspan="5"><asp:TextBox ID="countrytxt" runat="server" TextMode="SingleLine" /></td> </tr> <tr> <td><span class="adminContent">Shipping Rate </span></td> <td colspan="5"><asp:TextBox ID="ratetxt" runat="server" TextMode="SingleLine" /></td> </tr> <tr> <td colspan="6"> </td> </tr> <tr> <td> </td> <td colspan="2"> </td> <td width="78"><asp:Button ID="add" Text="Add" Width="60" runat="server" /></td> <td width="77"><asp:Button ID="reset" Text="Reset" runat="server" Width="60" CausesValidation="false" /></td> <td width="250"><asp:Button ID="cancel" Text="Cancel" runat="server" CausesValidation="false" /></td> </tr> <tr> <td colspan="6"> </td> </tr> </table> <p> </p> <p> </p> <p> </p> <p> </p> </td> </tr> <tr> <td><table width="793" border="0" align="left" cellspacing="0"> <tr> <td colspan="2"><asp:DataGrid AllowPaging="true" DataKeyField="ShippingRateID" ID="Shippingdg" runat="server" AutoGenerateColumns="false" OnPageIndexChanged="Paging" PageSize="5" Width="800" AlternatingItemStyle-CssClass="alternateRow"> <columns> <asp:BoundColumn DataField="ShippingRateID" HeaderText="Shipping Rate ID" ReadOnly="true"> <headerstyle CssClass="dgheaderStyle"></headerstyle> <itemstyle CssClass="dgitemStyle"></itemstyle> </asp:BoundColumn> <asp:BoundColumn DataField="DeliveryCountry" HeaderText="Country Destination"> <headerstyle CssClass="dgheaderStyle"></headerstyle> <itemstyle CssClass="dgitemStyle"></itemstyle> </asp:BoundColumn> <asp:BoundColumn DataField="ShippingRates" HeaderText="Shipping Rates(USD)"> <headerstyle CssClass="dgheaderStyle"></headerstyle> <itemstyle CssClass="dgitemStyle"></itemstyle> </asp:BoundColumn> <asp:TemplateColumn HeaderText="Edit"> <headerstyle CssClass="dgheaderStyle"></headerstyle> <itemstyle CssClass="dgitemStyle"></itemstyle> <itemtemplate> <asp:HyperLink runat="server" Width="20" NavigateUrl='<%# "EditShippingRates.aspx?Shipping_ID=" + DataBinder.Eval(Container.DataItem, "ShippingRateID") %>' >Edit</asp:HyperLink> </itemtemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="Delete"> <headerstyle CssClass="dgheaderStyle"></headerstyle> <itemstyle CssClass="dgitemStyle"></itemstyle> <itemtemplate> <asp:CheckBox ID="delcb" runat="server"></asp:CheckBox> </itemtemplate> </asp:TemplateColumn> </columns> <pagerstyle HorizontalAlign="Right" Mode="NumericPages" CssClass="dgFooter"></pagerstyle> </asp:DataGrid></td> </tr> <tr> <td height="26" colspan="2"> </td> </tr> <tr> <td> </td> <td><asp:Button ID="delete" Text="Delete Checked Item(s)" runat="server" CausesValidation="false" /></td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td><asp:RequiredFieldValidator ControlToValidate="countrytxt" Display="None" ErrorMessage="Country must not be empty" ID="empty1" runat="server" /> <asp:RequiredFieldValidator ControlToValidate="ratetxt" Display="None" ErrorMessage="Shipping Rates must not be empty" ID="empty2" runat="server" /> <asp:RegularExpressionValidator ControlToValidate="countrytxt" Display="None" ErrorMessage="Country must be alphabets" ID="v1" runat="server" ValidationExpression="[a-zA-Z]*" /> <asp:RegularExpressionValidator ControlToValidate="ratetxt" Display="None" ErrorMessage="Rate must be in price format" ID="v2" runat="server" ValidationExpression="[0-9][0-9]*(\.+\d{2})?" /> </td> <td> </td> </tr> <tr> <td width="639"><asp:ValidationSummary DisplayMode="BulletList" HeaderText="ERROR:" ID="summary" runat="server" ShowMessageBox="true" ShowSummary="false"/> </td> <td width="150"> </td> </tr> </table> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p></p></td> </tr> </table> </form> </td> </tr> <tr> <td height="16" bgcolor="#FFFFFF"><uc1:copyrightfooter id="Copyrightfooter1" runat="server"></uc1:copyrightfooter></td> </tr> </table> </body> </html> // Coding for the logic using System; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Web; public class AddShippingRates : Page { protected Label Message; protected Button add; protected DataGrid Shippingdg; protected TextBox sidtxt; protected TextBox ratetxt; protected TextBox countrytxt; protected Button reset; protected Button cancel; protected Button delete; protected Label admin; SqlConnection con; string db = ConfigurationSettings.AppSettings["constring"].ToString(); #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.delete.Click += new System.EventHandler(this.Delete_Click); this.reset.Click += new System.EventHandler(this.Reset_Click); this.add.Click += new System.EventHandler(this.Add_Click); this.cancel.Click += new System.EventHandler(this.Cancel_Click); } #endregion private void Page_Load(object sender, System.EventArgs e) { // Disable caching in user's web browser works both in IE and Firefox Response.Cache.SetExpires(DateTime.Now.AddDays(-1)); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); // Disallowed user to browse the page when not login if ( Session["adminuser"] == null ) { Response.Redirect("index.aspx"); } admin.Text = Session["adminuser"].ToString(); Message.Text = ""; delete.Attributes.Add("OnClick", "return confirm('Are you sure to delete the item?');"); try { con = new SqlConnection(db); getID(); if ( !IsPostBack ) { BindGrid(); } } catch ( Exception ex ) { Message.Text = "<b>ERROR: " + ex.Message; Message.Style["color"] = "red"; Message.Visible = true; } } // Datagrid Binding private void BindGrid() { SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM ShippingRates ORDER BY ShippingRateID DESC", con); DataSet ds = new DataSet(); sda.Fill(ds, "ShippingRates"); Shippingdg.DataSource=ds.Tables["ShippingRates"].DefaultView; Shippingdg.DataBind(); } // Paging on datagrid public void Paging(object sender, DataGridPageChangedEventArgs e) { Shippingdg.CurrentPageIndex = e.NewPageIndex; Shippingdg.DataBind(); BindGrid(); } // Get next Shipping ID private void getID() { SqlCommand maxId = new SqlCommand("SELECT MAX(ShippingRateID) FROM ShippingRates", con); con.Open(); string result = maxId.ExecuteScalar().ToString(); int id = Convert.ToInt32(maxId.ExecuteScalar().ToString()); int getId = 1; if ( !result.Equals("") || !result.Equals("Null") ) { getId = id + 1; } con.Close(); sidtxt.Text = getId.ToString(); } // Add data to database public void Add_Click(object sender, EventArgs e) { int sid = Convert.ToInt32(sidtxt.Text); double rates = Convert.ToDouble(ratetxt.Text); string country = countrytxt.Text; try { string exist = "SELECT COUNT(*) FROM ShippingRates WHERE DeliveryCountry = '"+country+"'"; SqlCommand query = new SqlCommand(exist, con); con.Open(); int yes = Convert.ToInt32(query.ExecuteScalar().ToString()); if ( yes > 0 ) { Message.Text = "<b>Error: " + country + " already exist in the database<br>"; Message.Style["color"] = "red"; Message.Visible = true; } else { string insertQuery = "INSERT INTO ShippingRates VALUES ("+sid+", "+rates+", '"+country+"')"; SqlCommand SqlCom = new SqlCommand(insertQuery, con); SqlCom.ExecuteNonQuery(); Message.Text = "<b>Record has been Added<br>"; Message.Style["color"] = "red"; Message.Visible = true; } } catch ( SqlException ) { Message.Text = "<b>ERROR: Problem with query"; Message.Style["color"] = "red"; Message.Visible = true; } con.Close(); getID(); ratetxt.Text = ""; countrytxt.Text = ""; BindGrid(); } // Delete checked items private void Delete_Click(object sender, System.EventArgs e) { DataGridItem dgItem; CheckBox chkItem = new CheckBox(); Shippingdg.CurrentPageIndex = 0; for ( int i = 0; i < Shippingdg.Items.Count; i++ ) { dgItem = Shippingdg.Items[i]; chkItem = (CheckBox)dgItem.FindControl("delcb"); if ( chkItem.Checked == true ) { int key = Convert.ToInt32(Shippingdg.DataKeys[dgItem.ItemIndex]); string deleteQuery = "DELETE FROM ShippingRates WHERE ShippingRateID = "+key+""; SqlCommand SqlCom = new SqlCommand(deleteQuery, con); SqlCom.Parameters.Add(new SqlParameter("@sid", SqlDbType.Int, 20)); SqlCom.Parameters["@sid"].Value = Shippingdg.DataKeys[dgItem.ItemIndex]; SqlCom.Connection.Open(); try { SqlCom.ExecuteNonQuery(); Message.Text = "<b>Record has been deleted</b><br>"; Message.Style["color"] = "red"; Message.Visible = true; } catch (SqlException) { Message.Text = "<b>ERROR: Could not delete record</b>"; Message.Style["color"] = "red"; Message.Visible = true; } SqlCom.Connection.Close(); } } getID(); BindGrid(); } // Reset the form private void Reset_Click(object sender, System.EventArgs e) { countrytxt.Text = ""; ratetxt.Text = ""; } // Back to shipping rates main page private void Cancel_Click(object sender, System.EventArgs e) { Response.Redirect("ManageShippingRates.aspx"); } }
First of all, considering that this is not a C# forum, the ones who try to solve your query might not necessarily have .NET to try out your code. Secondly, you need to give exact error messages which appear in the Firefox error console and paste the relevant code removing the C# mess if you plan on getting help from this 'Javascript' forum. Either that or repost in the C# forums.
I don't accept change; I don't deserve to live.
I am very sorry if I cause any confusion. There is no error return when running the system using firefox browser. The only problem is validation using javascript is not working in firefox in which means that user can submit the form by entering any values and the values submitted are stored in the database.
If anyone ever encounter this kind of problem when developing web based system using javascript for client side validation using any language, please advice if you know why.
I have heard that coding for browser detection need to be added to solve the problem. Please correct me if I am wrong.
Thank you very much
If anyone ever encounter this kind of problem when developing web based system using javascript for client side validation using any language, please advice if you know why.
I have heard that coding for browser detection need to be added to solve the problem. Please correct me if I am wrong.
Thank you very much
•
•
Join Date: Sep 2007
Posts: 1
Reputation:
Solved Threads: 0
Hi all,
I have similar problem. App works fine on IE, but FireFox doesn't fire javascript function. When I put checkbox on checked, row should change the color. This is my javascript code:
...
<head runat="server">
<title>Unos dužnika</title>
<LINK href="StyleSheet.css" type="text/css" rel="stylesheet">
<script type="text/javascript">
//declare global variables
function chkSelect_OnClick(tableRowId,
checkBox, rowIndex)
{
var bgColor;
bgColor = "#ebeaef";
if(checkBox.checked == true)
tableRowId.style.backgroundColor = "#ffffff";
else
tableRowId.style.backgroundColor = bgColor;
}
</script>
</head>
...
Could you tell me what is the problem?
I have similar problem. App works fine on IE, but FireFox doesn't fire javascript function. When I put checkbox on checked, row should change the color. This is my javascript code:
...
<head runat="server">
<title>Unos dužnika</title>
<LINK href="StyleSheet.css" type="text/css" rel="stylesheet">
<script type="text/javascript">
//declare global variables
function chkSelect_OnClick(tableRowId,
checkBox, rowIndex)
{
var bgColor;
bgColor = "#ebeaef";
if(checkBox.checked == true)
tableRowId.style.backgroundColor = "#ffffff";
else
tableRowId.style.backgroundColor = bgColor;
}
</script>
</head>
...
Could you tell me what is the problem?
•
•
Join Date: May 2006
Posts: 60
Reputation:
Solved Threads: 0
use the inbuild error console in firefox to know your error..its cool..
tool -> error console
first clear the console and then execute ur web app in firefox and continiously check for any error message in the error console
tool -> error console
first clear the console and then execute ur web app in firefox and continiously check for any error message in the error console
Last edited by kaushik259106; Sep 8th, 2007 at 1:13 am.
•
•
•
•
Hi all,
I have similar problem. App works fine on IE, but FireFox doesn't fire javascript function. When I put checkbox on checked, row should change the color. This is my javascript code:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
... <head runat="server"> <title>Unos dužnika</title> <LINK href="StyleSheet.css" type="text/css" rel="stylesheet"> <script type="text/javascript"> //declare global variables function chkSelect_OnClick(tableRowId, checkBox, rowIndex) { var bgColor; bgColor = "#ebeaef"; if(checkBox.checked == true) tableRowId.style.backgroundColor = "#ffffff"; else tableRowId.style.backgroundColor = bgColor; } </script> </head> ...
Could you tell me what is the problem?
- You spelled onclick wrong (it's case sensitive), and placed it in the wrong place. onclick goes in the html tag you want to click on, not in the JavaScript code.
For instance, to call your function chkSelect when the mouse clicks on a certain div or on a certain paragraph, do this:
JavaScript / DHTML / AJAX Syntax (Toggle Plain Text)
<html .... > <head> .... <script type="type/javascript"> .... function chkSelect(){ .... } .... </script> .... </head> <body> .... <div onclick="javascript:chkSelect()"> .... </div> .... <p onclick="javascript:chkSelect()"> .... </p> .... </body> </html>
Almost any tag can contain an onclick attribute.
Last edited by MidiMagic; Sep 9th, 2007 at 9:18 pm.
Daylight-saving time uses more gasoline
![]() |
Similar Threads
- javascript in mozilla firefox (JavaScript / DHTML / AJAX)
- Javascript links not working (Web Browsers)
- "Must visit from" javascript wont work in IE... (JavaScript / DHTML / AJAX)
- Why the following does not work in Firefox (JavaScript / DHTML / AJAX)
- Making T.Greer's JavaScript-synthesised combobox dynamic (JavaScript / DHTML / AJAX)
- Difference between Firefox and IE (JavaScript / DHTML / AJAX)
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: How to stop the scroll position when webpage gets refreshed?
- Next Thread: prototype
| Thread Tools | Search this Thread |
acid2 ajax ajaxcode ajaxexample ajaxhelp ajaxjspservlets animate automatically beta box browser bug calendar captchaformproblem checkbox child close column createrange() css cursor decimal dependent design disablefirebug dom download dropdown editor element embed engine error events explorer ext file form forms google gwt gxt hiddenvalue highlightedword hint html htmlform ie8 iframe images index internet java javascript javascripthelp2020 jawascriptruntimeerror jquery jsf jsfile jump libcurl listbox math media microsoft mimic mp4 object onmouseoutdivproblem onmouseover onreadystatechange parent paypal pdf php player post problem progressbar regex runtime scroll search security select shopping size software sql text textarea unicode w3c web website window windowofwords windowsxp wysiwyg \n






