代码本身工作正常,但包含在我的表单中时则不然


Code works fine on it's own, but not when included in my form

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

两个脚本/页面单独工作...但是当我包含("数字.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>

您有一个拼写错误:

<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']; ?>">

编辑2:好的,问题是表单"数字"在另一个表单中,因此它无法通过document.numbers访问它。要修复它,您需要以不同的方式访问它,例如给它一个 id 并使用 getElementById .

add

.php上的表单没有名称

相关文章: