0

add.php (レシピをデータベースに追加するためのフォーム) と、numbers.php (材料オプションを表示するためのリスト) の2 つのファイルがあります。

両方のスクリプト/ページは別々に機能します...しかし、('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:わかりました。問題は、フォーム「numbers」が他のフォームの中にあるため、にアクセスするのに問題があることdocument.numbersです。これを修正するには、IDを指定したり、を使用したりするなど、別の方法でアクセスする必要がありますgetElementById

于 2012-08-09T02:14:00.807 に答える
0

add.phpのフォームに名前がありませんでした

于 2012-08-09T06:23:10.643 に答える