【问题标题】:How to pass PHP input text to JavaScript and back to PHP label如何将 PHP 输入文本传递给 JavaScript 并返回给 PHP 标签
【发布时间】:2017-08-25 03:13:10
【问题描述】:

我有一个允许用户输入金额的 PHP 文本框

<input id="inputAmount" type="number" class="form-control" name="amount" required>

以及显示消息的标签。

<label id="Message" style="display:none">
   'ExchangeRate is ' . $Rate . 'and converted amount is '. $ConvertedAmount
</label>

这是我的 概念 用于计算的 JavaScript

<script>
    $("#inputAmount").change(function(){
        var ConvertedAmount = Rate * inputAmount;
        return ConvertedAmount;
    });
</script>

我应该怎么做才能向用户显示即时转换的结果?

【问题讨论】:

    标签: javascript php laravel laravel-5


    【解决方案1】:

    将 php 变量的内容放入输入中,然后使用 javascript 获取输入的值,然后转到您的 javascript 计算。像这样。

    <input id="inputAmount" type="number" class="form-control" name="amount" required>
    
    <input id="rate" type="hidden" class="form-control" value="<?php $Rate ?>">
    

    然后是你的 javascript 代码

    <script>
        $("#inputAmount").change(function(){
            var Rate = document.getElementById('rate').value;
            var ConvertedAmount = Rate * inputAmount;
            return ConvertedAmount;
        });
    </script>
    

    【讨论】:

      【解决方案2】:

      JavaScript 需要能够看到速率,所以:

      <input type="hidden" id="rate" value="<?php echo $Rate; ?>" />
      

      然后在输入输入时,使用 keyup 事件:

      $("#inputAmount").on('keyup', function(){
          // Get the rate
          var Rate = $('#rate').val();
      
          // Get the input amount
          var inputAmount = $(this).val();
      
          // Do calculation
          var ConvertedAmount = Rate * inputAmount;
      
          // Change the message
          $('#Message').text('ExchangeRate is ' + Rate + ' and converted amount is ' + ConvertedAmount);
      });
      

      【讨论】:

        【解决方案3】:

        在没有 PHP 位的情况下,它正在运行。

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <input id="inputAmount" type="number" class="form-control" name="amount" required>
        <label id="Message"></label>
        <script>
        var rate = 1.5 //inserted with PHP
        $("#inputAmount").change(function(){
            var inputAmount = this.value;
            var ConvertedAmount = rate * inputAmount;
            var text = 'ExchangeRate is '+rate+' and converted amount is ' + ConvertedAmount;
            $('#Message').text(text);
        });
        </script>

        PHP 看起来像

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <input id="inputAmount" type="number" class="form-control" name="amount" required>
        <label id="Message"></label>
        <script>
        var rate = <?php echo $rate; ?> //inserted with PHP
        $("#inputAmount").change(function(){
            var inputAmount = this.value;
            var ConvertedAmount = rate * inputAmount;
            var text = 'ExchangeRate is '+rate+' and converted amount is ' + ConvertedAmount;
            $('#Message').text(text);
        });
        </script>
        

        【讨论】:

        • 你的 php 块是重复的 js
        • @Bango,是的,除了&lt;?php echo $rate; ?&gt; 位。可运行块将 PHP 替换为 PHP 将返回的值(假设 $rate 变量为 1.5)。
        【解决方案4】:

        我认为它会解决你的问题。

        <label id="Message" style="display:none">
           'ExchangeRate is <i id='rate'></i> and converted amount is <i id='convertedAmount'></i>
        </label>
        

        你的 Javascript

        <script>
            $("#inputAmount").change(function(){
                var ConvertedAmount = Rate * inputAmount;
                 $("#convertedAmount").html(ConvertedAmount);
                 $("#rate").html(Rate);
            });
        </script>
        

        【讨论】:

          【解决方案5】:
          $("#inputAmount").change(function(){
              var Rate = <?php echo $rate; ?>
              var ConvertedAmount = Rate * inputAmount;
              document.getElementById('Message').innerHTML = 'ExchangeRate is ' + Rate + 'and converted amount is ' +  ConvertedAmount ;
          });
          

          【讨论】:

            【解决方案6】:

            我认为你应该试试这个:

            <input type="hidden" id="Rate" value="{{$Rate}}" />
            
            
            
            $("#inputAmount").on('keyup', function(){
                // Get the Rate value
                var Rate = $('#rate').val();
            
                // Get the inputAmount value
                var inputAmount = $(this).val();
            
                // Multiplication
                var ConvertedAmount = Rate * inputAmount;
            
            
                $('#Message').text('ExchangeRate is ' + Rate + ' and converted amount is ' + ConvertedAmount);
            });
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-08-07
              • 1970-01-01
              • 1970-01-01
              • 2018-09-05
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-02-15
              相关资源
              最近更新 更多