Javascript 如果输入为0或默认值,则显示/隐藏div

Javascript 如果输入为0或默认值,则显示/隐藏div,javascript,html,input,paypal,Javascript,Html,Input,Paypal,我在一个支付网关中工作,在那里,我的数字图书的价格由用户名决定。将显示一个输入框(用于输入价格)和一个“立即付款”按钮。但是: 如果价格低于0.50,则取消“付款”按钮,并显示“下载”按钮 如果用户引入“,”而不是“.”,则会显示一个框(请输入有效数字) 以下是带有输入框的表单: <form id="hikashop_paypal_form" name="hikashop_paypal_form" action="https://www.paypal.com/cgi-bin/web

我在一个支付网关中工作,在那里,我的数字图书的价格由用户名决定。将显示一个输入框(用于输入价格)和一个“立即付款”按钮。但是:

  • 如果价格低于0.50,则取消“付款”按钮,并显示“下载”按钮
  • 如果用户引入“,”而不是“.”,则会显示一个框(请输入有效数字)
  • 以下是带有输入框的表单:

        <form id="hikashop_paypal_form" name="hikashop_paypal_form" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    
        <input type="hidden" name="cmd" value="_cart">
        <input type="hidden" name="business" value="X" />   
        <input type="hidden" name="item_name_1" value="X" />
        <input id="amount_1" name="amount_1" class="amount_1"/></form>
    
    
    
    立即付款按钮(如果1为真,则应隐藏)

    
    
    立即下载按钮(如果1为真,则应显示)

    
    
    信息框(如果2为真,则应显示)

    
    输入一个有效的数字
    
    问题是:我该怎么做?
    我相信这个解决方案是通过使用javascript实现的,但我不知道具体是如何实现的。。。谢谢你抽出时间…

    我不知道怎么做,但它对我有用:

    请在此处尝试:

    
    
    您使用的是框架还是简单的js+html?以下是指向我的测试页面的链接:
       <div id="PayNow" class="PayNow">
        <input id="PayNow_button" type="submit" class="btn btn-primary" value="Pay now" name="" />
        </div>
    
       <div id="downloadNow" class="downloadNow">
        <a href="www.download.com"/download">Download now</a>
        </div>
    
       <div id="info" class="info">
        Enter a valid number
        </div>
    
        <form id="pplaunch" action="https://www.paypal.com/cgi-bin/webscr" method="POST">
                <input type="hidden" name="cmd" value="_xclick">
        <input id="issueid" name="issueid" type="hidden" value="ARCHIVE NAME">
        <input type="hidden" id="currency" name="currency" value="EUR">
        <input type="hidden" name="business" value="YOUR PAYPAL ID" />  
        <input type="hidden" value="0" name="test_ipn"></input>
         <input type="hidden" name="item_name" value="PRODUC NAME">
        <input type="hidden" value="1" name="no_shipping"></input>
        <input type="hidden" value="0" name="no_note"></input>
        <input type="hidden" value="utf-8" name="charset"></input>
        <input type="hidden" value="Super" name="first_name"></input>
        <input type="hidden" value="http://www.YOURWEBSITE.com/return" name="return"></input>
         <input type="hidden" value="http://www.OURWEBSITE.com/cancel" name="cancel_return"></input>
        <div class="nameprice" style="float:left;margin-right:15px;>
            <span style="font-size:small;">Name your price: </span><input id="amount" name="amount" size="6" maxlength="5" type="text"> <span style="font-size:small;color:#ccc;">From 0.00€</span>
        </div>
        <div id="pricerror"></div>
        <div class="buttonspace">
            <button id="buybutton" class="buybutton" type="button">Checkout</button>
                        <div id="descargaGratisMensaje"></div>
            <div style="display: block;" class="pay">
            </div>
    
        </div>
    </form>
    
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    
      <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/jquery-ui.min.js"></script>
    
    
    
      <script type="text/javascript">
    
      function newPopup(url, width, height){
    popupWindow = window.open(url,'_blank','height='+height+',width='+width+',left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes');
    return false;
    
      }
    
      function displaybutton(displayclass){
    
      if(displayclass == 'pay'){
        $('.pay').css('display','block');
        $('#pplaunch').attr('action', 'https://www.paypal.com/cgi-binwebscr');
        $('#buybutton').html('Pagar');
    
      }else{
        $('.pay').css('display','none');
        $('#pplaunch').attr('action', 'http://www.example.com/archive/'+$('#issueid').val());
        $('#buybutton').html('Descargar');
                $('#descargaGratisMensaje').html('Un Me Gusta podría ser un buen intercambio');
    }
    
      }
    
      function isNumber(n){
    return !isNaN(parseFloat(n)) && isFinite(n) && (n.search(/0x/i)<0);
    
    
            }
    
      function price(n){
    
      // return null if n is not a price, or n rounded to 2 dec. places
    if(!isNumber(n)){
        // maybe the user entered a comma as a decimal separator
        n = n.replace(/,/g,'.');  
        if(!isNumber(n)){
            return null;
        }
    
      }
    // now we know it is a number, round it up to 2 dec. places
    
      return Math.round(parseFloat(n)*100)/100;
    
      }
    
      function pricecheck(){
    
      var data = $.trim($('#amount').val());
    
      var myprice = price(data);
    
      if(myprice == null){
        if(data == ''){
            $('#pricerror').html('');
        }else{
            $('#pricerror').html('Please enter a price.');
        }
        displaybutton('pay');
        return false;
    
      }
    
      if(myprice == 0){
        $('#pricerror').html('');
        displaybutton('nopay');
    
      }else if(myprice < 0.5){
        $('#pricerror').html('The minimum price is '+currencysymbol+'0.50. 
      Please enter either zero, or at least '+currencysymbol+'0.50.');
        displaybutton('pay');
    
      }else{
        $('#pricerror').html('');
        displaybutton('pay');
    
      }
    
      jQuery('.content').hide();
    
      }
    
      var currencysymbol = '$';
    
      $.getScript('//www.geoplugin.ne/javascript.gp?ref=panelsyndicate.com', function() {
    
      if(geoplugin_continentCode() != 'EU'){return;}
    
      $('#currency').val('EUR');
    
      currencysymbol = '€';
    
      $('.currencysymbol').html(currencysymbol);
    
      });
    
      $(document).ready(function(){
    
      var dialog = $('#modal').dialog({
        title: 'IBIZA!'
        , autoOpen: false
        , closeText: ''
        , modal: true
        , resizable: false
        , width: 500
    
      });
    
      $('#buybutton').click(function() {
        $('#pplaunch').submit();
    
      });
    
      $('#pplaunch').submit(function() {
        var myprice = price($.trim($('#amount').val()));
        if((myprice != 0) && ((myprice == null) || (myprice < 0.5))){
            $('#pricerror').html('Please enter your price.');
            $('#amount').focus();
            return false;
        }
    
      });
    
      $('.modaltrigger').click(function() {
        var issueid = $(this).attr('href').substr(1);
        $('#issueid').val(issueid); // Comic ID
    
      $('#include_a_message_to').html(issues[issueid].include_a_message_to); // Destinee of the message
        dialog.dialog('option', 'title', issues[issueid].title); // Title of the comic
        $('#issuelangs').html(issues[issueid].langs); // Languages in which the comic is available
        dialog.dialog('option', 'position', { my: "center", at: "center", of: window });
        dialog.dialog('open');
        // prevent the default action, e.g., following a link
        pricecheck();
        return false;
    
      });
    
      $('#amount').bind('input propertychange', function() {
        pricecheck();
    
      });
    
      $('.custommsg').hide();
    
      $('.msgtrigger').click(function() {
        var cmsg = $('.custommsg');
        if(cmsg.is(':visible')){
            cmsg.hide();
            $('.sendmsg').show();
        }else{
            $('.sendmsg').hide();
            cmsg.show();
            $('.msgtxt').focus();
        }
        return false;
    
      });
    
      $('.msgtxt').keyup(function(){
        if($(this).val().length > maxlength){
            $(this).val($(this).val().substr(0, maxlength));
        }
        var remaining =  maxlength - $(this).val().length;
        $('#msgtxtnumcharsleft').text(remaining);
    
      });   
    
      var maxlength = 200;
    
      var remaining =  maxlength - $('.msgtxt').val().length;
    
      $('#msgtxtnumcharsleft').text(remaining);
    
      });
    
      </script>