簡體   English   中英

使用VISIBLE時遇到問題。 單擊復選框后,我的Javascript似乎未處理事件

[英]Having Issues with using VISIBLE. My Javascript doesnt seem to be handling the event when the check box is clicked

我所有的隱藏字段都有ID。 並在我的JavaScript中嘗試將付款選擇的可見性從false設置為true。 現金付款應僅顯示要發送到的地址。 信用卡付款附帶文本框和標簽,以便在線處理付款。 但是,當我運行腳本時,不會與復選框選擇一起出現。 我分配了一個onClick事件,但仍然無法正常工作。 有什么建議么?

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ShoppingCart.aspx.cs" Inherits="ShoppingCart" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">

<head>
    <script type="text/javascript">
        function paymentFunction() {
            if (document.getElementById("rbCash").checked) {
                document.getElementById("lbCash").visible = true;
                document.getElementById("lbCash2").visible = true;
                document.getElementById("lbCash3").visible = true;
                document.getElementById("lbCash4").visible = true;
            } 
              else 
            {
            if(document.getElementById("rbCreditCard").checked)
            {
                document.getElementById("lbCard").visible = true;
                document.getElementById("lbCardNum").visible = true;
                document.getElementById("lbCVV").visible = true;
                document.getElementById("lbexp").visible = true;
                document.getElementById("ddlCard").visible = true;
                document.getElementById("tbCnum").visible = true;
                document.getElementById("tbcvvnum").visible = true;
                document.getElementById("tbexp").visible = true;


            }
          }
        }
    </script>

      <style type="text/css">
            .style1
            {
                width: 100%;
            }
          .style2
          {
              width: 100%;
          }
          .style3
          {
              width: 130px;
          }
        </style>

</head>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <table class="style2">
        <tr>
            <td class="style3">
                Payment Type:</td>
            <td>
                <asp:CheckBox ID="rbCash" runat="server" onClick="paymentFunction()" Text="Cash" ClientIDMode="Static"/>
                <asp:CheckBox ID="rbCreditCard" runat="server" onClick="paymentFunction()" Text="Credit Card" />
            </td>
        </tr>
        <tr>
            <td class="style3">
                &nbsp;</td>
            <td>
                <asp:Label ID="lbCash" runat="server" ForeColor="Black" 
                    Text="Please Send Payment To:" Visible="False" ClientIDMode="Static"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="style3">
                &nbsp;</td>
            <td>
                <asp:Label ID="lbCash2" runat="server" ForeColor="Black" 
                    Text="Wild Style Shoes" Visible="False" ClientIDMode="Static"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="style3">
                &nbsp;</td>
            <td>
                <asp:Label ID="lbCash3" runat="server" ForeColor="Black" 
                    Text="1808 West Avenue" Visible="False" ClientIDMode="Static"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="style3">
                &nbsp;</td>
            <td>
                <asp:Label ID="lbCash4" runat="server" ForeColor="Black" 
                    Text="Chicago, IL 88947" Visible="False" ClientIDMode="Static"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="style3">
                <asp:Label ID="lbcard" runat="server" Text="Card Type" Visible="False"></asp:Label>
            </td>
            <td>
                <asp:DropDownList ID="ddlCard" runat="server" Visible="False">
                    <asp:ListItem>Select A Card</asp:ListItem>
                    <asp:ListItem>Visa</asp:ListItem>
                    <asp:ListItem>Discover</asp:ListItem>
                    <asp:ListItem>MasterCard</asp:ListItem>
                    <asp:ListItem>American Express</asp:ListItem>
                </asp:DropDownList>
            </td>
        </tr>
        <tr>
            <td class="style3">
                <asp:Label ID="lbcardnum" runat="server" Text="Card Number:" Visible="False"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="tbCnum" runat="server" Visible="False" Width="200px"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="style3">
                <asp:Label ID="lbCVV" runat="server" Text="CVV Number" Visible="False"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="tbcvvnum" runat="server" Visible="False" Width="58px"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="style3">
                <asp:Label ID="lbexp" runat="server" Text="Expiration Date" Visible="False"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="tbexp" runat="server" Visible="False"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="style3">
                &nbsp;</td>
            <td>
                <asp:Button ID="Button1" runat="server" Text="Submit Payment" Visible="False" />
            </td>
        </tr>
    </table>
    <p>
        &nbsp;</p>
    <p>
        &nbsp;</p>
    <p>
        Thank You For Shopping With Us:<br />
    </p>
    <p>
    </p>
    <p>
    </p>
    <p>
    </p>
    <p>
    </p>


</asp:Content>

如果像您一樣在服務器端設置Visible = false,則服務器將不會呈現控件。

您可能想要執行以下操作:

<asp:Label ID="lbCash" runat="server" ForeColor="Black" 
                    Text="Please Send Payment To:" style="visibility:hidden" ClientIDMode="Static"></asp:Label>

然后在javascript中執行以下操作:

document.getElementById('lbCash').style.visibility = 'visible';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM