Avatar of ankouny
ankounyFlag for United States of America

asked on 

Javascript function is not fired ?

Hello,
I'm trying to call a javascript function in my code and it seems not to be running. below is my code :
<a href="#" onclick="UpdateContacts();"><img border="0" src="../images/Buttons/next.png" /></a>
           

and dunction UpdateContacts() is in the  <script type="text/javascript"> tag.
Please help me what could be the problem.
Knowing that I tried to make the body run under server and also did not work.
ASP.NETJavaScriptHTML

Avatar of undefined
Last Comment
Mr_Wizzy
Avatar of leakim971
leakim971
Flag of Guadeloupe image

try :

<a href="#" onclick="alert('it work !!!!');UpdateContacts();return false;"><img border="0" src="../images/Buttons/next.png" /></a>
Avatar of leakim971
leakim971
Flag of Guadeloupe image

you may have an error inside UpdateContacts()
Avatar of ankouny
ankouny
Flag of United States of America image

ASKER

the alert worked but the functions did not work ? any suggestion on how to debug it ?
Avatar of Mr_Wizzy
Mr_Wizzy
Flag of Philippines image

Hi ankouny,

There's no problem with the script you posted. The problem must be in your UpdateContacts() function. Can you post the UpdateContacts() function so that we can also check it?
Avatar of leakim971
leakim971
Flag of Guadeloupe image

check line 13 :)
Avatar of ankouny
ankouny
Flag of United States of America image

ASKER

What do you mean by line 13 ? I did not get it :)
Avatar of leakim971
leakim971
Flag of Guadeloupe image

a stupid joke... sorry... Mr_Wizzy is right, post your code if you want we debug it with you
Avatar of ankouny
ankouny
Flag of United States of America image

ASKER

The button is at the very bottom .



<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="IUW_Step2.aspx.vb" Inherits="SalesNexus.IUW_Step2" %>

<%@ Import Namespace="System.Data" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head runat="server">
    <title>IUW_Step2</title>
    <link type="text/css" href="../styles/Controls.css" rel="Stylesheet" />
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

    <script type="text/javascript">
        function formDuplicated(idx) {
            var obj = document.getElementById('mapfield' + idx);
            var val = obj.value
            var f = document.forms[0]
            for (var i = 0; i < f.elements.length; i++) {
                var e = f.elements[i]
                if (e.type == "select-one") {
                    if ((e.name != obj.name) && (e.value != "0") && (e.value == val)) {
                        e.value = "0";
                        return;
                    }
                }
            }
            if (val != "0") {
                document.getElementById("match" + idx).disabled = false;
                document.getElementById("update" + idx).disabled = false;
            }
            else {
                document.getElementById("match" + idx).checked = false;
                document.getElementById("update" + idx).checked = false;
                document.getElementById("match" + idx).disabled = true;
                document.getElementById("update" + idx).disabled = true;
            }
        }
        function ChangeUpdateCheckboxValue(index) {
            var dropdown = document.getElementById('mapfield' + index);
            var chkbox = document.getElementById('update' + index);
            var oppbox = document.getElementById('match' + index);
            chkbox.value = dropdown.value;
            oppbox.checked = false;
        }
        function ChangeMatchCheckboxValue(index) {
            var dropdown = document.getElementById('mapfield' + index);
            var chkbox = document.getElementById('match' + index);
            var oppbox = document.getElementById('update' + index);
            chkbox.value = dropdown.value;
            oppbox.checked = false;
        }
        function UpdateContacts() {
            alert('Update Contacts');
            var mode = document.forms[0].mode.value;
           
            alert(mode );
            
            var count = 0;
            var isValid = false;
            if (mode == "update") {
                alert('mode == update');
                var els = document.getElementsByTagName("input");
                for (var i = 0; i < els.length; i++) {
                    if ((els[i].type == "checkbox") && (els[i].name == "match" + count)) {
                        count++;
                        if (els[i].checked) {
                            isValid = true;
                            break;
                        }
                    }
                }
            }
            else {
                alert('else');
                var els = document.getElementsByTagName("select");
               
                alert(els);

                for (var i = 0; i < els.length; i++) {
                    alert('for loop');
                    if (els[i].name != "userlist")
                        count++;
                }
                if (count == document.forms[0].count.value)
                    isValid = true;
            }
            alert('is Valid Fn');
            if (isValid) {
                if (document.getElementById("SaveMappingForNextImport").checked) {
                    document.forms[0].SaveMapping.value = "Save";
                    if (document.getElementById("importMode").checked) {
                        document.forms[0].ImportUpdateFlag.value = "Import";
                    } else {
                        document.forms[0].ImportUpdateFlag.value = "Update";
                    }
                    //document.forms[0].submit();
                }
                //else {
                    document.forms[0].action = "IUW_Step3.aspx";
                    document.forms[0].submit();
                //}
            }
            else {
                if (mode == "update")
                    alert("You must select at least one column to match records for updating.");
            }
        }

        function changeMode() {
            var importMode = document.getElementById("importMode");
            var importNew = document.getElementById("importNonmatches1");

            if (importMode.checked) {
                document.forms[0].mode.value = "import";
                document.getElementById("importNonmatches0").disabled = true;
                document.getElementById("importNonmatches1").disabled = true;
                document.getElementById("matchDuplicate").innerHTML = "Select for Duplicate-check";
                var els = document.getElementsByName("updateGrp")
                for (var i = 0; i < els.length; i++)
                    els[i].style.visibility = "hidden";
            }
            else {
                document.forms[0].mode.value = "update";
                var updateOption = document.getElementById("importNonmatches0");
                if (updateOption.checked)
                    document.forms[0].importNonmatches.value = "no";
                else
                    document.forms[0].importNonmatches.value = "yes";

                document.getElementById("importNonmatches0").disabled = false;
                document.getElementById("importNonmatches1").disabled = false;
                document.getElementById("matchDuplicate").innerHTML = "<b>Select For Matching<b>";
                var els = document.getElementsByName("updateGrp");

                for (var i = 0; i < els.length; i++) {
                    els[i].style.visibility = "visible";
                }
            }

            if (importMode.checked || importNew.checked)
                document.getElementById("userlist").disabled = false;
            else
                document.getElementById("userlist").disabled = true;
        }            
    </script>

</head>
<body>
    <form id="form2" >
        <input type="hidden" name="mode" value="import" />
        <input type="hidden" name="importNonmatches" value="no" />
        <input type="hidden" name="SaveMapping" value="" />
        <input type="hidden" name="ImportUpdateFlag" />
        <input type="hidden" name="recordMgrId" />
        <table style="border: 2px; border-color: #6a6a6a; border-style: solid; display: block; width: 636px; margin-left: 10px;">
            <tr>
            <td class="fontOnly">
                <h2 class="fontOnly">
                    Import/Update Wizard: Step 2</h2>
                Select the mode you wish to use:<br />
                <input type="radio" name="importRadio" id="importMode" value="import" checked onclick="changeMode();">
                &nbsp;Import as new contacts<br />
                <input type="radio" name="importRadio" id="updateMode" value="update" onclick="changeMode();">
                &nbsp;Update existing contacts by the matching the specified column(s).<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" value="no" name="updateOption"
                    id="importNonmatches0" disabled onclick="changeMode();" checked>
                &nbsp;Do not import non-matching records as new contacts<br>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" value="yes" name="updateOption"
                    id="importNonmatches1" disabled onclick="changeMode();">
                &nbsp;Import non-matching records as new contacts<br>
                <br />
                Select the record manager to assign to contacts being imported:
                <select class="fontOnly" name="userlist" id="userlist">
                    <%= optionStr %>
                </select><br />
                <br />
                Please map each field below and select the field(s) you wish to use for matching
                records.<br />
                <br />
                <input type="radio" name="SaveFieldMappingRadio" id="SaveMappingForNextImport" value="SaveFieldMapping"
                    onclick="" />
                &nbsp;Save This Field Mapping For My Next Import.<br />
                <br />
                <% Dim headers As String() = Session("IUW_Headers")%>
                <input type="hidden" name="count" value="10" />
                <table cellspacing="0" cellpadding="4">
                    <tr bgcolor="#c0c0c0">
                        <td nowrap>
                            <span class="fontOnly"><b>CSV Header</b></span>
                        </td>
                        <td nowrap>
                            <span class="fontOnly"><b>Contact Field</b></span>
                        </td>
                        <td nowrap align="center">
                            <span class="fontOnly" id="matchDuplicate"><b>Select for Duplicate-check</b></span>
                        </td>
                        <td nowrap align="center">
                            <span id="updateGrp" style="visibility: hidden; font-family: Tahoma; font-size: 11px;
                                color: #6a6a6a;" name="updateGrp"><b>Select for Updating</b></span>
                        </td>
                    </tr>
                    <%			 
                        '''''''''Aloha Technology 07-Oct-2010			                
                        Dim storedHeaders, storedMapToFields, storedMatch, storedUpdate As String()
                        Dim headerId As Integer
                        If dt.Rows.Count > 0 Then                        
                            storedHeaders = strSourceField.Split("|")
                            storedMapToFields = strMaptoFieldId.Split("|")
                            storedMatch = strMatchField.Split("|")
                            storedUpdate = strUpdateField.Split("|")
                            'Session("FieldIds") = storedMapToFields
                        End If
                        For i As Integer = 0 To UBound(headers) - 1
                    %>
                    <tr>
                        <td class="fontOnly" width="125">
                            <%=headers(i)%>
                        </td>
                        <td width="250">
                            
                            <%
                                If dt.Rows.Count > 0 Then
                                    If storedHeaders.Length - 1 >= i Then
                                        If headers(i) = storedHeaders(i) Then
                                            If storedMapToFields.Length - 1 >= i Then
                                                headerId = Convert.ToInt32(storedMapToFields(i))
                                            End If
                                        End If
                                    End If
                                End If
                            %>
                            
                            <select class="fontOnly" id="mapfield<%=i%>" style="width: 115px;" name="mapfield<%=i%>" onchange="">
                                <%--=selectOptions--%>
                                <option value="0">-- No mapping --</option>
                                <%
                                    For Each row As DataRow In contactFields.Tables(0).Rows
                                        If dt.Rows.Count > 0 Then
                                            If storedHeaders.Length - 1 >= i Then
                                                If storedMapToFields.Length - 1 >= i Then
                                                    If headerId = row("FieldID") Then%>
                                <option value="<%=row("FieldID")%>" selected>
                                    <%=row("Label")%></option>
                                <%Else%>
                                <option value="<%=row("FieldID")%>">
                                    <%=row("Label")%></option>
                                <%End If%>
                                <%Else%>
                                <option value="<%=row("FieldID")%>">
                                    <%=row("Label")%></option>
                                <%End If%>
                                <%Else%>
                                <option value="<%=row("FieldID")%>">
                                    <%=row("Label")%></option>
                                <%End If%>
                                <%Else%>
                                <option value="<%=row("FieldID")%>">
                                    <%=row("Label")%></option>
                                <%End If%>
                                <%Next%>
                            </select>
                        </td>
                        <%  If dt.Rows.Count > 0 Then
                                If storedHeaders.Length - 1 >= i Then%>
                        <%If Not storedMatch(i) = "-1" Then%>
                        <td class="fontOnly" width="110" align="center">
                            <input type="checkbox" id="match<%=i%>" name="match<%=i%>" value="<%=storedMatch(i)%>" checked="checked"
                                onclick="ChangeMatchCheckboxValue('<%=i%>');" />
                        </td>
                        <%Else%>
                        <td class="fontOnly" width="110" align="center">
                            <input type="checkbox" id="match<%=i%>" name="match<%=i%>" value="1" onclick="ChangeMatchCheckboxValue('<%=i%>');" />
                        </td>
                        <%End If%>
                        <%Else%>
                        <td class="fontOnly" width="110" align="center">
                            <input type="checkbox" id="match<%=i%>" name="match<%=i%>" value="1" onclick="ChangeMatchCheckboxValue('<%=i%>');" />
                        </td>
                        <%End If%>
                        <%Else%>
                        <td class="fontOnly" width="110" align="center">
                            <input type="checkbox" id="match<%=i%>" name="match<%=i%>" value="1" onclick="ChangeMatchCheckboxValue('<%=i%>');" />
                        </td>
                        <%End If%>
                        <%  If dt.Rows.Count > 0 Then
                                If storedHeaders.Length - 1 >= i Then%>
                        <%If Not storedUpdate(i) = "-1" Then%>
                        <td class="fontOnly" width="110" align="center">
                            <span id="updateGrp" name="updateGrp" style="visibility: hidden;">
                                <input type="checkbox" id="update<%=i%>" name="update<%=i%>" value="<%=storedUpdate(i)%>" checked="checked"
                                    onclick="ChangeUpdateCheckboxValue('<%=i%>');" /></span>
                        </td>
                        <%Else%>
                        <td class="fontOnly" width="110" align="center">
                            <span id="updateGrp" name="updateGrp" style="visibility: hidden;">
                                <input type="checkbox" id="update<%=i%>" name="update<%=i%>" value="1" onclick="ChangeUpdateCheckboxValue('<%=i%>');" /></span>
                        </td>
                        <%End If%>
                        <%Else%>
                        <td class="fontOnly" width="110" align="center">
                            <span id="updateGrp" name="updateGrp" style="visibility: hidden;">
                                <input type="checkbox" id="update<%=i%>" name="update<%=i%>" value="1" onclick="ChangeUpdateCheckboxValue('<%=i%>');" /></span>
                        </td>
                        <%End If%>
                        <%Else%>
                        <td class="fontOnly" width="110" align="center">
                            <span id="updateGrp" name="updateGrp" style="visibility: hidden;">
                                <input type="checkbox" id="update<%=i%>" name="update<%=i%>" value="1" onclick="ChangeUpdateCheckboxValue('<%=i%>');" /></span>
                        </td>
                        <%End If%>
                    </tr>
                    <% Next%>
                </table>
            <p>&nbsp;</p>
                <br>
             
    
             
                <a href="#" onclick="alert('it work !!!!');UpdateContacts();return false;"><img border="0" src="../images/Buttons/next.png" /></a>
            
            </td>
        </tr>
        </table>    
        
    
    </asp:Panel>
    </form>
    
</body>
</html>

Open in new window

Avatar of leakim971
leakim971
Flag of Guadeloupe image

Try this to catch the error :

(what's your favorite browser?)
Avatar of leakim971
leakim971
Flag of Guadeloupe image

        function UpdateContacts() {
try {
            alert('Update Contacts');
            var mode = document.forms[0].mode.value;
           
            alert(mode );
            
            var count = 0;
            var isValid = false;
            if (mode == "update") {
                alert('mode == update');
                var els = document.getElementsByTagName("input");
                for (var i = 0; i < els.length; i++) {
                    if ((els[i].type == "checkbox") && (els[i].name == "match" + count)) {
                        count++;
                        if (els[i].checked) {
                            isValid = true;
                            break;
                        }
                    }
                }
            }
            else {
                alert('else');
                var els = document.getElementsByTagName("select");
               
                alert(els);

                for (var i = 0; i < els.length; i++) {
                    alert('for loop');
                    if (els[i].name != "userlist")
                        count++;
                }
                if (count == document.forms[0].count.value)
                    isValid = true;
            }
            alert('is Valid Fn');
            if (isValid) {
                if (document.getElementById("SaveMappingForNextImport").checked) {
                    document.forms[0].SaveMapping.value = "Save";
                    if (document.getElementById("importMode").checked) {
                        document.forms[0].ImportUpdateFlag.value = "Import";
                    } else {
                        document.forms[0].ImportUpdateFlag.value = "Update";
                    }
                    //document.forms[0].submit();
                }
                //else {
                    document.forms[0].action = "IUW_Step3.aspx";
                    document.forms[0].submit();
                //}
            }
            else {
                if (mode == "update")
                    alert("You must select at least one column to match records for updating.");
            }
}
catch(e) {alert(e);}
        }

Open in new window

Avatar of ankouny
ankouny
Flag of United States of America image

ASKER

the problem is with document.forms[0].count.value
it is grabing 10 but should get only 8 I'm not sure where it is getting 10 from
Is there anyway I can change it ?
ASKER CERTIFIED SOLUTION
Avatar of leakim971
leakim971
Flag of Guadeloupe image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Mr_Wizzy
Mr_Wizzy
Flag of Philippines image

Was this executed,  this "alert('Update Contacts');" inside UpdateContacts function? If not, there must be a syntax error because if everything is coded well,  "alert('Update Contacts');" should execute. If you're using Internet Explore you can easily identify if the javascript is working or not because it will display a warning icon at the bottom left of the browser.
ASP.NET
ASP.NET

The successor to Active Server Pages, ASP.NET websites utilize the .NET framework to produce dynamic, data and content-driven web applications and services. ASP.NET code can be written using any .NET supported language. As of 2009, ASP.NET can also apply the Model-View-Controller (MVC) pattern to web applications

128K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo