功能,表单和用户输入的数据

时间:2014-12-09 08:27:27

标签: javascript

我在这里有点失落。我所拥有的是一个带有项目和价格的基本菜单,在表格中设置为表格。我有一个文本输入框,供用户输入一个值 - 该项目所需的数量。

我想知道在用户点击计算按钮后如何使用输入到输入文本框中的数据,以便我可以验证它并在等式中使用它。如果用户想要项目的“2”,我需要将该值带入我的函数中,以便我可以将其验证为数值。然后我将它用作整数乘以与该项相关的价格......

以下是我的代码示例:

        function calculate(){
        var error = false; 
        if (isNaN(*"what would I put here??"*){
            alert("A numeric value is required when ordering steak");
            error = true;
        }
        else{
            var numbercrabcakes = parseInt(-------);
        }
        if (!error)
        {
            total = numbercrabcakes * 15 * 1.0825;
            window.alert("Your order totals: " + total.toFixed(2))
        }
    } 


.........


<form name="myform">
 <script type="text/javascript">
 /* <![CDATA[ */
   document.write("<table border = '1'>")
   document.write("<tr><th>Item Picture</th><th>Item Description</th><th>Item Price</th> \
        <th>Quanity</tr>");
   document.write("<tr><td><img src = 'images/crabcakes.png'></td><td>Cirtus infused crab \                      
   cakes with a sweet and savory sauce</td><td>$" + price[0] + "</td> \
   <td><input type='text' id='crabcakes' size='10' value='0' style='text-align:right;' /></td>
   </tr>");
  /* ]]> */
  </script>
  <p id="submit_button"><input type="submit" value="Calculate" onclick="calculate()" \
       style="width:150px;height:30px;text-align:center;font-weight:bold;" /></p>
</form>

代码的功能部分作为样本/指南提供,供我们的特定页面使用和编辑。我是否需要为输入框添加idname并使用getElementbyId,以便我可以针对isNaN进行检查,然后使用parseInt进行转换如功能所示。我确实试过了,但它似乎对我不起作用。

1 个答案:

答案 0 :(得分:1)

如果您只想使用ID“crabcakes”访问文本框的值,您可以这样做:

function calculate(){
        var value = document.getElementById("crabcakes").value;
        var error = false; 
        if (isNaN(value)){
            alert("A numeric value is required when ordering steak");
            error = true;
        }
        else{
            var numbercrabcakes = parseInt(value);
        }
        if (!error)
        {
            total = numbercrabcakes * 15 * 1.0825;
            window.alert("Your order totals: " + total.toFixed(2))
        }
    }