0

我有 2 个文件:add.php(将配方添加到数据库的表单和numbers.php(用于显示成分选项的列表)。

两个脚本/页面单独工作......但是当我包含('numbers.php')时,onchange代码不起作用。

//numbers.php
<form name="numbers" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="select" onchange="javascript: document.numbers.submit();">
  <option value=0>-</option>
  <option value=1>1</option>
  <option value=2>2</option>
  <option value=3>3</option>
  <option value=4>4</option>
</select>
</form>
<?php
$num_ingredients = $_REQUEST["select"];
$count = 0;
while ($count < $num_ingredients) {
  $count++;
  include ('../ingredients/list.php');
  echo '<br />';
}
?>

//add.php
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Recipe Title:
  <input type="text" name="recipe_name" maxlength="30" value="<?php echo $recipe_name; ?>" /><br />
Ingredients:
  <?php include ('numbers.php'); ?><br />
<input type="submit" value="Add Recipe" />
<input type="button" onclick="history.go(0)" value="Clear" /><br />
</form>

一如既往地非常感谢任何帮助:)

- - - - 编辑 - - - - - - - - - - - - - - - - - - -

这是 add.php 请求的页面源


<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content Type" content="text/html; charset=UTF-8" />
<title>POWERCHEF</title>
  <meta name="robots" content="noindex, nofollow">
  <meta name="distribution" content="iu">
  <meta name="format-detection" content="telephone=yes">
  <meta name="copyright" content="Copyright 2012">
</head>
<body>
<!-- ON WITH THE SHOW --><h3>ADD RECIPE</h3><html>
<form enctype="multipart/form-data" action="/kitchen/recipes/add.php" method="POST">

Recipe Title:
  <input type="text" name="recipe_name" maxlength="30"
  value="" /><br />
Subtitle:
  <input type="text" name="recipe_subtitle" maxlength="50"
  value="" /><br />
Category:
  <input type="text" name="recipe_category" maxlength="50"
  value="" /><br />
Subcategory:
  <input type="text" name="recipe_subcategory" maxlength="50"
  value="" /><br />
  <br />
Photo:<br />
  <input type="hidden" name="MAX_FILE_SIZE" value="200000" />
  <input type="file" name="recipe_photo" value="" /><br />
  <br />
Ingredients:<br />
  <form name="numbers" method="post"
  action="/kitchen/recipes/add.php">
<select name="select" onchange="javascript: document.numbers.submit();">
  <option value=0>-</option>
  <option value=1>1</option>
  <option value=2>2</option>
  <option value=3>3</option>
  <option value=4>4</option>
  <option value=5>5</option>
  <option value=6>6</option>
  <option value=7>7</option>
  <option value=8>8</option>
  <option value=9>9</option>
  <option value=10>10</option>
  <option value=11>11</option>
  <option value=12>12</option>
  <option value=13>13</option>
  <option value=14>14</option>
  <option value=15>15</option>
  <option value=16>16</option>
  <option value=17>17</option>
  <option value=18>18</option>
  <option value=19>19</option>
  <option value=20>20</option>
  <option value=21>21</option>
  <option value=22>22</option>
  <option value=23>23</option>
  <option value=24>24</option>
  <option value=25>25</option>
  <option value=26>26</option>
  <option value=27>27</option>
  <option value=28>28</option>
  <option value=29>29</option>
  <option value=30>30</option>
</select>
</form>
<br />
<br />
Prep Instructions:<br />
  <textarea name="recipe_prep_instructions" class="" cols="88" rows="15"
  value="" /></textarea><br />
  <br />
Cooking Instructions:<br />
  <textarea name="recipe_prep_instructions" class="" cols="88" rows="15"
  value="" /></textarea><br />
  <br />
<input type="submit" value="Add Recipe" />
<input type="button" onclick="history.go(0)" value="Clear" /><br />
<br />
</form>
</html>
<footer>
  <p>
    <small><strong>&copy; 2012 </strong> -&nbsp;All Rights Reserved</small>
  </p>
</footer>
<!-- THANKS FOR STOPPING BY! -->
</body>
</html>
4

2 回答 2

2

你有一个错字:

<input type="text" name="recipe_name" maxlength="30" value="<?php echo $recipe_name"; ?>" /><br />

应该是:(注意删除了 php 块中的引号)

 <input type="text" name="recipe_name" maxlength="30" value="<?php echo $recipe_name; ?>" /><br />

引用可能会弄乱其他脚本。

编辑:好的,这也只是复制粘贴错字吗?

<form name="numbers" method="post action="<?php echo $_SERVER['PHP_SELF']; ?>">

应该:

<form name="numbers" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

EDIT2:好的,问题是“数字”表单在另一个表单内,因此无法使用document.numbers. 要修复它,您将需要以不同的方式访问它,例如给它一个 id 并使用getElementById.

于 2012-08-09T02:14:00.807 回答
0

add.php 上的表单没有名称

于 2012-08-09T06:23:10.643 回答