Member 12926744 Ответов: 1

Передача 3 параметров текстового поля в функцию javascript из ASPX


Дорогие Все,
Я хочу передать три значения текстового поля в функцию javascript. Однако это не работает.Любая помощь действительно ценится.

Что я уже пробовал:

<asp:ImageButton ID="ibut_cheque2" runat="server" target="_blank" OnClientClick='<%# string.Format("window.open(\"Product.aspx?pid=\" + document.getElementById(\"{0}\").value & chdate=\" + document.getElementById(\"{1}\").value & pname=\" + document.getElementById(\"{2}\").value, null,\"scrollbars=yes,top=10,left=10\", \"true\");", Form.FindControl("txt_voucher").ClientID,Form.FindControl("txtbox_chqdate").ClientID,Form.FindControl("txtbox_chprovider").ClientID)%>'
                                    AlternateText="Print" CssClass="btn5" ForeColor="White" ToolTip="Print Cheque" />

1 Ответов

Рейтинг:
11

Karthik_Mahalingam

Упростите его, поместив код в функцию

<script>
        function openWindow() {
            var pid = document.getElementById('<%=txt_voucher.ClientID %>');
            var chdate = document.getElementById('<%=txtbox_chqdate.ClientID %>');
            var pname = document.getElementById('<%=txtbox_chprovider.ClientID %>');
            window.open("Product.aspx?pid=" + pid + "chdate= " + chdate + " & pname= " + pname + ", null,scrollbars=yes,top=10,left=10", "true");
        }
    </script>


<asp:ImageButton ID="ibut_cheque2" runat="server" target="_blank" OnClientClick='openWindow()' AlternateText="Print" CssClass="btn5" ForeColor="White" ToolTip="Print Cheque" />


Member 12926744

При этом я получаю сообщение об ошибке "коллекция элементов управления не может быть изменена, поскольку элемент управления содержит блоки кода (т. е. <% ... %и GT;).- Не могли бы вы мне помочь?

Karthik_Mahalingam

поместите скрипт перед концом тега body
ссылка [^]

Member 12926744

Product.aspx?cid=[object%20HTMLInputElement]chdate=%20[object%20HTMLInputElement]%20&%20pname=%20[object%20HTMLInputElement],%20null,scrollbars=yes,top=10,left=10

Значения передаются следующим образом .т. е. я думаю, что переменные не получают значения текстового поля.

Karthik_Mahalingam

О моя ошибка, забудьте добавить свойство value
должно быть

function openWindow() {
            var pid = document.getElementById('<%=txt_voucher.ClientID %>').value;
            var chdate = document.getElementById('<%=txtbox_chqdate.ClientID %>').value;
            var pname = document.getElementById('<%=txtbox_chprovider.ClientID %>').value;

Member 12926744

Большое спасибо.Это сработало.Его открытие в новой вкладке.Но мне нужно открыть его в новом окне.Можете вы пожалуйста помочь мне.Я новичок в javascript.

Karthik_Mahalingam

использовать _пустой[^]

 window.open("Product.aspx?pid=" + pid + "chdate= " + chdate + " & pname= " + pname + ", "_blank",scrollbars=yes,top=10,left=10", "true");

Member 12926744

Большое спасибо.Это сработало.

Karthik_Mahalingam

добро пожаловать