计算误差

大家好 我有一些JavaScript代码,可以将产品添加在一起. 这是一种形式,它自己工作正常. 但是,当我将其集成到我的PHP脚本中时,会引起此错误'document.form.info'为null或不是对象. 这是我的顶级代码

选择 | 换行 | 行号
  1. <?
  2. include("connect.php");
  3.  
  4.  
  5. if ($submit == "Update")
  6.     {
  7.  
  8.     $saved = mysql("db69117798","update payment set id = '$id', infoid = '$infoid', name = '$name', product_dogmobile = '$product_dogmobile', product_dogwalker = '$product_dogwalker', product_harness = '$product_harness', product_harness_area = '$product_harness_area', product_new = '$product_new', subtotal = '$subtotal', postage = '$postage', total = '$total', payment_name = '$payment_name', payment_cc = '$payment_cc', payment_valid_from = '$payment_valid_from', payment_expiry = '$payment_expiry', payment_issue = '$payment_issue', payment_security_number = '$payment_security_number', payment_type = '$payment_type', NOW() where infoid = $infoid");
  9.  
  10.     if ($saved)
  11.         {
  12.             echo "<script>\n";
  13.             echo "window.alert('$name has been updated');\n";
  14.             echo "</script>\n";
  15.           }
  16.     else
  17.         {
  18.             echo mysql_error() ;
  19.         }
  20.     }
  21.  
  22. $result = mysql("db69117798","select * from payment where infoid = $infoid");
  23. $result = mysql_fetch_array($result);
  24.     echo mysql_error() ;
  25. ?> 
  26.  
  27.  
  28.  
  29. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  30. <html>
  31. <head>
  32. <title>index-6</title>
  33. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  34. <link href="style.css" rel="stylesheet" type="text/css">
  35.  
  36. <SCRIPT LANGUAGE="JavaScript">
  37.  
  38. function  doMath() {
  39. var one = eval(document.myform.info.value)
  40. var two = eval(document.myform.info1.value)
  41. var three = eval(document.myform.info2.value)
  42. var four = eval(document.myform.info3.value)
  43. var five = eval(document.myform.info4.value)
  44. var prod = one  +   two  +  three  +  four  +  five
  45. document.myform.total.value=custRound(prod,2);
  46. }
  47. function custRound(x,places) {
  48. return (Math.round(x*Math.pow(10,places)))/Math.pow(10,places)
  49. }
  50.  
  51. </script>

以及形式.

选择 | 换行 | 行号
  1. <form id="form1" name="form1" method="post" action="payment2.php">
  2.  <input type="hidden" name="infoid" value="<?=$infoid?>">
  3.  
  4.   <table width="400" border="0">
  5.     <tr>
  6.       <td colspan="2"><span class="style9">Product</span></td>
  7.     </tr>
  8.     <tr>
  9.       <td>&nbsp;</td>
  10.       <td>&nbsp;</td>
  11.     </tr>
  12.     <tr>
  13.       <td>Name:</td>
  14.       <td><input type="text" name="name" value="<?=$result[name]?>"></td>
  15.     </tr>
  16.       <tr>
  17.     <td>DogMobile</td>
  18.     <td>
  19.       <select name="info">
  20.     <option selected value="0">Select</option>
  21.     <option value="255">Small - &pound;255</option>
  22.     <option value="270">Medium - &pound;270</option>
  23.     <option value="280">Large - &pound;280</option>
  24.     <option value="290">XLarge - &pound;290</option>
  25.       </select>
  26.     </td>
  27.   </tr>
  28.   <tr>
  29.     <td>DogWalker</td>
  30.     <td>
  31.       <select name="info1">
  32.     <option selected value="0">Select</option>
  33.     <option value="180">Small - &pound;180</option>
  34.     <option value="190">Medium - &pound;190</option>
  35.     <option value="200">Large - &pound;200</option>
  36.     <option value="210">XLarge - &pound;210</option>
  37.  
  38.       </select>
  39.     </td>
  40.   </tr>
  41.     <tr>
  42.     <td>DogHarness</td>
  43.     <td>
  44.       <select name="info2">
  45.     <option selected value="0">Select</option>
  46.     <option value="26">Small - &pound;26</option>
  47.     <option value="29">Medium - &pound;29</option>
  48.     <option value="32">Large - &pound;32</option>
  49.     <option value="35">XLarge - &pound;35</option>
  50.       </select>
  51.     </td>
  52.   </tr>
  53.     <tr>
  54.     <td>New Products</td>
  55.     <td>
  56.       <select name="info3">
  57.     <option selected value="0">Select</option>
  58.     <option value="16.95">2in1 Lead - &pound;16.95</option>
  59.     <option value="35">Lifting Blanket - &pound;35</option>
  60.       </select>
  61.     </td>
  62.   </tr>
  63.   <tr>
  64.     <td>Postage</td>
  65.     <td>
  66.       <input type="text" name="info4">
  67.     </td>
  68.   </tr>
  69.     <tr>
  70.     <td>Total</td>
  71.     <td>
  72.       <input type="text" name="total">
  73.     </td>
  74.   </tr>
  75.   <tr>
  76.     <td> </td>
  77.     <td>
  78.       <input type="button" value="Calculate" onClick="doMath()" name="button">
  79.     </td>
  80.   </tr>
  81.     <tr>
  82.       <td colspan="2">&nbsp;</td>
  83.     </tr>
  84.     <tr>
  85.       <td colspan="2"><span class="style9">Payment</span></td>
  86.     </tr>
  87.     <tr>
  88.       <td><span class="style9">Type of card:</span></td>
  89.       <td><span class="style9">
  90.         <select name="payment_type">
  91.           <option value="visa">Visa</option>
  92.           <option value="mastercard">Mastercard</option>
  93.           <option value="maestro">Maestro</option>
  94.           <option value="solo">Solo</option>
  95.           <option value="american express">American Express</option>
  96.           <option value="jcb">JCB</option>
  97.           <option value="cheque">Cheque</option>
  98.           <option value="money order">Money Order</option>
  99.         </select>
  100.       </span></td>
  101.     </tr>
  102.     <tr>
  103.       <td><span class="style9">Name on card:</span></td>
  104.       <td><input name="payment_name" type="text" /></td>
  105.     </tr>
  106.     <tr>
  107.       <td><span class="style9">Card Number:</span></td>
  108.       <td><input name="payment_cc" type="text" /></td>
  109.     </tr>
  110.     <tr>
  111.       <td><span class="style9">Valid From:</span></td>
  112.       <td><input name="payment_valid_from" type="text" /></td>
  113.     </tr>
  114.     <tr>
  115.       <td><span class="style9">Expiry Date:</span></td>
  116.       <td><input name="payment_expiry" type="text" /></td>
  117.     </tr>
  118.     <tr>
  119.       <td><span class="style9">Issue Number (if applicable):</span></td>
  120.       <td><input name="payment_issue" type="text" /></td>
  121.     </tr>
  122.     <tr>
  123.       <td><span class="style9">Security number:</span></td>
  124.       <td><input name="payment_security_number" type="text" /></td>
  125.     </tr>
  126.     <tr>
  127.       <td>&nbsp;</td>
  128.       <td>&nbsp;</td>
  129.     </tr>
  130.     <tr>
  131.       <td>&nbsp;</td>
  132.       <td><span class="style9">
  133.         <label>
  134.        <input type="submit" name="submit" value="Update">
  135.         </label>
  136.       </span></td>
  137.     </tr>
  138.   </table>
  139. </form>

谁能帮忙? 欢呼xxx

# 回答1

请发布相关的JavaScript代码:-) Debasis Jana.
# 回答2

你好 它的第一个代码垃圾邮件中的第38行到51. 干杯
# 回答3

使用PHP加载页面时,请确保存在该字段:-) 亲切的问候, dmjpro.
# 回答4

你是什​​么意思? 字段在那里吗?
# 回答5

查看源代码..检查您的HTML页面中是否有任何字段按名称"信息" :-)检查 有我的观点! Debasis Jana
# 回答6

你好 如果我们忽略了PHP.

选择 | 换行 | 行号
  1. <SCRIPT LANGUAGE="JavaScript">
  2.  
  3. function  doMath() {
  4. var one = eval(document.myform.info.value)
  5. var two = eval(document.myform.info1.value)
  6. var three = eval(document.myform.info2.value)
  7. var four = eval(document.myform.info3.value)
  8. var five = eval(document.myform.info4.value)
  9. var prod = one  +   two  +  three  +  four  +  five
  10. document.myform.total.value=custRound(prod,2);
  11. }
  12. function custRound(x,places) {
  13. return (Math.round(x*Math.pow(10,places)))/Math.pow(10,places)
  14. }
  15.  
  16. </script>
  17.  
  18. <form id="form1" name="form1" method="post" action="payment2.php">
  19.  <input type="hidden" name="infoid" value="<?=$infoid?>">
  20.  
  21.   <table width="400" border="0">
  22.     <tr>
  23.       <td colspan="2"><span class="style9">Product</span></td>
  24.     </tr>
  25.     <tr>
  26.       <td>&nbsp;</td>
  27.       <td>&nbsp;</td>
  28.     </tr>
  29.     <tr>
  30.       <td>Name:</td>
  31.       <td><input type="text" name="name" value="<?=$result[name]?>"></td>
  32.     </tr>
  33.       <tr>
  34.     <td>DogMobile</td>
  35.     <td>
  36.       <select name="info">
  37.     <option selected value="0">Select</option>
  38.     <option value="255">Small - &pound;255</option>
  39.     <option value="270">Medium - &pound;270</option>
  40.     <option value="280">Large - &pound;280</option>
  41.     <option value="290">XLarge - &pound;290</option>
  42.       </select>
  43.     </td>
  44.   </tr>
  45.   <tr>
  46.     <td>DogWalker</td>
  47.     <td>
  48.       <select name="info1">
  49.     <option selected value="0">Select</option>
  50.     <option value="180">Small - &pound;180</option>
  51.     <option value="190">Medium - &pound;190</option>
  52.     <option value="200">Large - &pound;200</option>
  53.     <option value="210">XLarge - &pound;210</option>
  54.  
  55.       </select>
  56.     </td>
  57.   </tr>
  58.     <tr>
  59.     <td>DogHarness</td>
  60.     <td>
  61.       <select name="info2">
  62.     <option selected value="0">Select</option>
  63.     <option value="26">Small - &pound;26</option>
  64.     <option value="29">Medium - &pound;29</option>
  65.     <option value="32">Large - &pound;32</option>
  66.     <option value="35">XLarge - &pound;35</option>
  67.       </select>
  68.     </td>
  69.   </tr>
  70.     <tr>
  71.     <td>New Products</td>
  72.     <td>
  73.       <select name="info3">
  74.     <option selected value="0">Select</option>
  75.     <option value="16.95">2in1 Lead - &pound;16.95</option>
  76.     <option value="35">Lifting Blanket - &pound;35</option>
  77.       </select>
  78.     </td>
  79.   </tr>
  80.   <tr>
  81.     <td>Postage</td>
  82.     <td>
  83.       <input type="text" name="info4">
  84.     </td>
  85.   </tr>
  86.     <tr>
  87.     <td>Total</td>
  88.     <td>
  89.       <input type="text" name="total">
  90.     </td>
  91.   </tr>
  92.   <tr>
  93.     <td> </td>
  94.     <td>
  95.       <input type="button" value="Calculate" onClick="doMath()" name="button">
  96.     </td>
  97.   </tr>
  98.     <tr>
  99.       <td colspan="2">&nbsp;</td>
  100.     </tr>
  101.     <tr>
  102.       <td colspan="2"><span class="style9">Payment</span></td>
  103.     </tr>
  104.     <tr>
  105.       <td><span class="style9">Type of card:</span></td>
  106.       <td><span class="style9">
  107.         <select name="payment_type">
  108.           <option value="visa">Visa</option>
  109.           <option value="mastercard">Mastercard</option>
  110.           <option value="maestro">Maestro</option>
  111.           <option value="solo">Solo</option>
  112.           <option value="american express">American Express</option>
  113.           <option value="jcb">JCB</option>
  114.           <option value="cheque">Cheque</option>
  115.           <option value="money order">Money Order</option>
  116.         </select>
  117.       </span></td>
  118.     </tr>
  119.     <tr>
  120.       <td><span class="style9">Name on card:</span></td>
  121.       <td><input name="payment_name" type="text" /></td>
  122.     </tr>
  123.     <tr>
  124.       <td><span class="style9">Card Number:</span></td>
  125.       <td><input name="payment_cc" type="text" /></td>
  126.     </tr>
  127.     <tr>
  128.       <td><span class="style9">Valid From:</span></td>
  129.       <td><input name="payment_valid_from" type="text" /></td>
  130.     </tr>
  131.     <tr>
  132.       <td><span class="style9">Expiry Date:</span></td>
  133.       <td><input name="payment_expiry" type="text" /></td>
  134.     </tr>
  135.     <tr>
  136.       <td><span class="style9">Issue Number (if applicable):</span></td>
  137.       <td><input name="payment_issue" type="text" /></td>
  138.     </tr>
  139.     <tr>
  140.       <td><span class="style9">Security number:</span></td>
  141.       <td><input name="payment_security_number" type="text" /></td>
  142.     </tr>
  143.     <tr>
  144.       <td>&nbsp;</td>
  145.       <td>&nbsp;</td>
  146.     </tr>
  147.     <tr>
  148.       <td>&nbsp;</td>
  149.       <td><span class="style9">
  150.         <label>
  151.        <input type="submit" name="submit" value="Update">
  152.         </label>
  153.       </span></td>
  154.     </tr>
  155.   </table>
  156. </form>
  157.  
  158.  

它仍然不起作用. 问候

# 回答7

出色地 :-) 您的表单名称为Form1,您使用" document.myform". 为什么? 亲切的问候, dmjpro.
# 回答8

你好 ... 您的表格称为" form1"不是'myform'...并且请避免使用评估...您可以在此处使用parsefloat()... eval ==邪恶!!! 亲切的问候
# 回答9

我们几乎在同一时间发布;)... 还有一件事要提及:最好将相关的选择框一个ID赋予ID并使用getElementById() - 引用该字段来检索值... 亲切的问候
# 回答10

那太好了!! 谢谢你们的帮助. 非常感激! 干杯
# 回答11

请告诉我为什么这是邪恶的:-) Debasis Jana
# 回答12

你好 ... 评估将评估您投入的所有内容,而您根本不需要它...除了评估JSON-DATA ... 例如,当使用PHP中的评估时,有人可以尝试将代码注入在那里执行的服务器...在客户端,这不像服务器端那样重要,除了某人能够跨站点订阅到您的页面 在您的页面中执行某件事,您永远都不会想在那里发生……但是,在我个人的角度来看,最丑陋的事情是……很多人都在使用所有内容...而不是 使用正确的JavaScript. 正如我们可以看到的那样 除了json-data的上述原因... KND问候

标签: Javascript

添加新评论