根据单选按钮选择显示表单

Show form based on radio button select(根据单选按钮选择显示表单)
本文介绍了根据单选按钮选择显示表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 html,它有两种形式,第一种形式为 id=cardpayment,第二种形式为 id="intenetpayment".

我还有 3 个单选按钮,名为借记卡"、信用卡"、网上银行".

我想要做的就是,当我选择单选按钮借记卡或信用卡时,应该显示带有 id="cardpayment" 的表单,并且应该隐藏另一个表单,当我点击时网上银行单选按钮,应隐藏带有 id="cardpayment" 的表单,并应显示带有 id="internetpayment" 的表单.我是 jquery 和 javascript 的新手.我在网上查了一下,这可以通过添加/删除 css 类来使用 css 完成

<代码>{显示:无;}

但我不知道如何使用 javascript 使其工作.

您可以在 http://jsfiddle.net/d5qDb/1/ 找到小提琴/p>

请原谅这个冗长的问题,我没有在此处包含 css,以免混淆问题.无论如何它都在小提琴中.在此先感谢您的帮助.我已将除法分为以下两种形式.

 <body><div id="信用卡"><标题><span class="title" style="background-image: url('images/fethrpowered.png');"><strong>刷卡支付:</strong>输入付款详情</span><a href="#"><span class="close"><img src="images/close.png"/></span></a></标题><部分 id="内容"><div class="title"><strong>付款方式-选择您的付款方式</strong></div><input type="radio" id="radio1" name="radios" value="all" 勾选><label for="radio1">信用卡</label><input type="radio" id="radio2" name="radios"value="false"><label for="radio2">借记卡</label><input type="radio" id="radio3" name="radios"value="false"><label for="radio3">网上银行</label><form method="post" id="cardpayment"><div style="float:right;margin-top:50px;"><输入类型='hidden' id='ccType' name='ccType'/><ul class="卡片"><li class="visa">签证</li><li class="visa_electron">Visa Electron</li><li class="mastercard">万事达卡</li><li class="maestro">大师</li></ul></div><div class="table form-fields"><div 类="行"><div class="label">卡号:</div><div class="input full"><input type="text" name="ccnumber" id="ccnumber" placeholder="8763125487533457"/><br/></div></div><div 类="行"><div class="label">卡片类型:</div><div class="输入满"><选择类=样式"><选择选项>签证</选项><option>万事达卡</option><option>大师</option><option>SBI Maestro</option></选择></div><div class="有效"></div></div><div 类="行"><div class="label">你的名字:</div><div class="input full"><input type="text" name="name" id="name" placeholder="Mr. Personality of TV"/></div></div><div class="行名"><div class="label">过期时间:</div><div class="输入大小50"><选择类=样式"><option selected>选择月份</option><option value="01">一月</option><option value="02">二月</option><option value="03">三月</option><option value="04">四月</option><option value="05">五月</option><option value="06">六月</option><option value="07">七月</option><option value="08">八月</option><option value="09">九月</option><option value="10">十月</option><option value="11">十一月</option><option value="12">十二月</option></选择><选择类=样式"><option selected>选择年份</option><option value="2012">2012</option><option value="2013">2013</option><option value="2014">2014</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option><option value="2019">2019</option><option value="2020">2020</option><option value="2021">2021</option><option value="2022">2022</option><option value="2023">2023</option><option value="2024">2024</option><option value="2025">2025</option><option value="2026">2026</option><option value="2027">2027</option><option value="2028">2028</option><option value="2029">2029</option><option value="2030">2030</option><option value="2031">2031</option><option value="2032">2032</option><option value="2033">2033</option><option value="2034">2034</option><option value="2035">2035</option><option value="2036">2036</option></选择></div><div class="有效"></div></div><div class="行名"><div class="label">CVV 编号:</div><div class="input size50"><input type="text" name="cvv" id="cvv" placeholder="490" maxlength="3"/></div></div></div><input type="submit" style="float:right" value="Pay Now"/></表格>

<小时>

 <form method="post" id="internetpayment"><div class="table form-fields"><div class="行名"><div class="label">名称:</div><div class="input full"><input type="text" name="name" id="Name" placeholder="输入你的名字"/></div></div><div class="行名"><div class="label">邮箱:</div><div class="input full"><input type="text" name="email" id="email" placeholder="Enter Email address"/></div></div><div class="行名"><div class="label">手机号码:</div><div class="input size50"><input type="text" name="手机号码" id="mobileNo"/></div></div><div class="行名"><div class="label">银行:</div><div class="输入大小50"><select name="BankId" class="styled" data-required="true" data-trigger="change"><option value="CORP">公司</option><选项值="HDFC">HDFC </选项><选项值="ICICI">ICICI </选项><选项值="IDBI">IDBI </选项><选项值="SBI">印度国家银行</option><选项值="DB">德意志</选项></选择></div><div class="有效"></div></div><div class="行名"><div class="label">金额:</div><div class="input size50"><input type="text" name="amount" id="amount" placeholder="10.00"/></div></div></div><input type="submit" style="float:right" value="Pay Now"/></表格></部分></div></身体>

解决方案

使用纯 JavaScript:

把它写在你的脚本部分.

var radios = document.getElementsByName("radios");var cardpayment = document.getElementById("cardpayment");var internetpayment = document.getElementById("internetpayment");/* 如果默认选择信用卡,则添加这两行代码.cardpayment.style.display = '块';//展示internetpayment.style.display = 'none';//隐藏*/for(var i = 0; i < radios.length; i++) {收音机[i].onclick = function() {var val = this.value;if(val == 'radio1' || val == 'radio2'){//假设单选按钮的值为 radio1、radio2 和 radio3.cardpayment.style.display = '块';//展示internetpayment.style.display = 'none';//隐藏}否则 if(val == 'radio3'){cardpayment.style.display = '无';internetpayment.style.display = 'block';}}}

小提琴:http://jsfiddle.net/LbrCf/

I have the following html which has two forms with form id=cardpayment for first form and form id="intenetpayment" for the second.

Also I have 3 radio buttons named "Debit card","Credit Card","Internet Banking".

All I want to do is,when I select the radio button Debitcard or Credit card,form with id="cardpayment" should be shown and the other form should be hidden and when i click on Internetbanking radio button , form with id="cardpayment" should be hidden and form with id="internetpayment" should be shown. Im new to jquery and javascript.I checked online that this can be done using a css by adding/removing a css class

{
display:none;
}

But i dont know how to make it work using javascript.

You can find the fiddle at http://jsfiddle.net/d5qDb/1/

Pardon for the long question,and I havnt included the css here for not confusing the question.It is in the fiddle anyway.thanks in advance for any help.I have given the division to two forms below.

 <body>
        <div id="credit-card">
            <header>
                           <span class="title" style="background-image: url('images/fethrpowered.png');"><strong>Card Payment:</strong> Enter payment details</span>
                <a href="#"><span class="close"><img src="images/close.png"/></span></a>



            </header>
            <section id="content">
                                <div class="title"><strong>Payment Mode- Select your payment mode</strong></div>

         <input type="radio" id="radio1" name="radios" value="all" checked>
       <label for="radio1">Credit Card</label>

    <input type="radio" id="radio2" name="radios"value="false">
       <label for="radio2">Debit Card</label>

        <input type="radio" id="radio3" name="radios"value="false">
       <label for="radio3">Internet Banking</label>

                <form method="post" id="cardpayment">



        <div style="float:right;margin-top:50px;">
         <input type='hidden' id='ccType' name='ccType' />
                <ul class="cards">
                <li class="visa">Visa</li>
                <li class="visa_electron">Visa Electron</li>
                <li class="mastercard">MasterCard</li>
                <li class="maestro">Maestro</li>                   
                </ul>
        </div>

        <div class="table form-fields">                   
     <div class="row">
            <div class="label">Card Number:</div>
                            <div class="input full"><input type="text" name="ccnumber" id="ccnumber" placeholder="8763125487533457"/><br/></div>


    </div>


                        <div class="row">
                            <div class="label">Card Type:</div>
                            <div class="input full">
                                <select class="styled">
                                    <option selected>Visa</option>
                                    <option>Mastercard</option>
                                    <option>Maestro</option>
                                    <option>SBI Maestro</option>
                                </select>
                            </div>
                            <div class="valid"></div>
                        </div>
                        <div class="row">
                                                    <div class="label">Your name:</div>
                            <div class="input full"><input type="text" name="name" id="name" placeholder="Mr. Personality of TV"/></div>


                        </div>
                        <div class="row name">
                            <div class="label">Expires On:</div>
                            <div class="input size50">
                                <select class="styled">
    <option selected>Select Month</option>
    <option value="01">January</option>
    <option value="02">February</option>
    <option value="03">March</option>
    <option value="04">April</option>
    <option value="05">May</option>
    <option value="06">June</option>
    <option value="07">July</option>
    <option value="08">August</option>
    <option value="09">September</option>
    <option value="10">October</option>
    <option value="11">November</option>
    <option value="12">December</option>
                                </select>
        <select class="styled">
    <option selected>Select Year</option>
    <option value="2012">2012</option>
    <option value="2013">2013</option>
    <option value="2014">2014</option>
    <option value="2015">2015</option>
    <option value="2016">2016</option>
    <option value="2017">2017</option>
    <option value="2018">2018</option>
    <option value="2019">2019</option>
    <option value="2020">2020</option>
    <option value="2021">2021</option>
    <option value="2022">2022</option>
    <option value="2023">2023</option>
    <option value="2024">2024</option>
    <option value="2025">2025</option>
    <option value="2026">2026</option>                          <option value="2027">2027</option>
    <option value="2028">2028</option>
    <option value="2029">2029</option>
    <option value="2030">2030</option>
    <option value="2031">2031</option>
    <option value="2032">2032</option>
    <option value="2033">2033</option>
    <option value="2034">2034</option>
    <option value="2035">2035</option>
    <option value="2036">2036</option>
    </select>   

                            </div>
                            <div class="valid"></div>
                        </div>
                        <div class="row name">
                            <div class="label">CVV Number:</div>
                            <div class="input size50"><input type="text" name="cvv" id="cvv" placeholder="490" maxlength="3"/></div>
                        </div>
                    </div>
                    <input type="submit" style="float:right" value="Pay Now"/>
                </form>


        <form method="post" id="internetpayment">


        <div class="table form-fields">     

            <div class="row name">
                            <div class="label">Name:</div>
                            <div class="input full"><input type="text" name="name" id="Name" placeholder="Enter your name"/></div>
                        </div>

            <div class="row name">
                            <div class="label">Email:</div>
                            <div class="input full"><input type="text" name="email" id="email" placeholder="Enter Email address"/></div>
                        </div>

                        <div class="row name">
                    <div class="label">Mobile Number:</div>
                            <div class="input size50"><input type="text" name="Mobile Number" id="mobileNo"/></div>


                        </div>
                        <div class="row name">
                            <div class="label">Bank:</div>
                            <div class="input size50">

     <select name="BankId" class="styled" data-required="true" data-trigger="change">
                        <option value="CORP">Corporation </option>
                        <option value="HDFC"> HDFC </option>
                        <option value="ICICI"> ICICI </option>
                        <option value="IDBI"> IDBI </option>
                        <option value="SBI"> STATE BANK OF INDIA </option>
                        <option value="DB"> DEUTSCHE </option>
                </select>


                            </div>
                            <div class="valid"></div>
                        </div>
                        <div class="row name">
                            <div class="label">Amount:</div>
                            <div class="input size50"><input type="text" name="amount" id="amount" placeholder="10.00"/></div>
                        </div>
                    </div>
                    <input type="submit" style="float:right" value="Pay Now"/>
                </form>




            </section>

        </div>


    </body>

解决方案

Using pure JavaScript:

Write this in your Script section.

var radios = document.getElementsByName("radios");
var cardpayment =  document.getElementById("cardpayment");
var internetpayment =  document.getElementById("internetpayment");

/* If Credit Card is selected by default, add these two lines of code.
cardpayment.style.display = 'block';   // show
internetpayment.style.display = 'none';// hide
*/

for(var i = 0; i < radios.length; i++) {
   radios[i].onclick = function() {
     var val = this.value;
     if(val == 'radio1' || val == 'radio2'){  // Assuming your value for radio buttons is radio1, radio2 and radio3.
        cardpayment.style.display = 'block';   // show
        internetpayment.style.display = 'none';// hide
     }
     else if(val == 'radio3'){
         cardpayment.style.display = 'none';
         internetpayment.style.display = 'block';
     }    

  }
}

fiddle: http://jsfiddle.net/LbrCf/

这篇关于根据单选按钮选择显示表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)