1

複数の入力フィールド、顧客の名前と住所を含む html フォームがあります。ユーザーがフォームを送信すると、これらのフィールドの値が 2 つのテーブルで構成されるデータベースに送信されます。

オプション「はい」と「いいえ」のドロップダウンボックスもあります。「いいえ」を選択してフォームを送信すると、通常どおりデータベースに値を送信する必要がありますが、新しいエントリの入力フィールドをクリアする代わりに、名前と姓をグレー表示/読み取り専用にして保持する必要がありますユーザーが入力した値。新しいエントリのためにアドレス フィールドがリセットされます。

次に、ユーザーは住所フィールドに新しい値を入力し、再度送信を押すと、以前に入力した名前/姓の顧客 ID を使用してデータベースの住所テーブルに追加されます。

これは、フォームの別のボタンを押すまで繰り返され、最終的な住所が送信され、フォーム全体が新しい顧客エントリ用にリセットされます。

これまでのところ、ユーザーが顧客の名前と住所を入力して送信を押すことができるようにセットアップしました。データベースに送信され、別の顧客エントリのためにフォームがリセットされます。

これは私のフォームで、4 つの入力フィールドがあります。

<form name="add" method="post" action="newCustomer.php">
<div id="leftcol">
<label><span>Name</span><br /> <input type="text" name="addFname" /></label>
<label><span>Surname</span> <input type="text" name="addLname" /> </label>
<label><span>Single Site?</span><Select name="field" onchange="showHide(this.value)

</label>
<div id="rightcol">
<label><span>Address line 1</span><input type="text" name="addSiteLine1" /></label>
<label><span>Address line 2</span><input type="text" name="addSiteLine2" /></label>

これまでのところ、これを私のphpコードの一番下に追加しようとしました

if($dropdown== "no"){
     disable_text(true);

     }

disable text は、テキストを無効にする JavaScript 関数ですが、これは何もしませんでした。

また、フォームの送信時にこの関数を呼び出そうとしましたが、$_POST メソッドが値を取得できなくなりました。無効にする代わりに読み取り専用を使用してこれをもう一度試してみたところ、何も起こらなかったようです。

私は基本的に、顧客の住所を追加するための 2 番目のフォーム / Web ページを必要としないようにし、複数の住所に対して複数の入力ボックスを追加しないようにしています (100 以上の住所がある場合があるため)。

編集

$Dropdown は、php で次のように定義されています。

$dropdown = $_POST['field'];

の形で

<label><span>Single Site?</span><Select name="field" onchange="showHide(this.value);">
</label>
<Option value="yes">yes</option>
<Option value="no">no</option>

関数が呼び出されていて、関数がすべてのテキスト フィールドを無効にすると、それが発生することがわかりました。それらは灰色で点滅し、ページが更新され、次のようなエラー メッセージが表示されました。

    $fName = $_POST['addFname'];

定義できませんでした。フィールドを読み取り専用にするように関数を変更すると、何も起こらないように見えましたが、データを送信してフォームをクリアし、新しい入力の準備が整いました。

4

1 に答える 1

3

質問の意味がよくわからないかもしれないので、間違っていたら訂正してください。javascript でフィールドを無効にして、フィールド値をセッション変数に保存して、フォームに戻すことはできませんか?

document.getElementById('fieldToDisable').style.disabled= 'true';

セッション変数フラグを作成し、それがページの読み込み時に設定されている場合は、フォームを再入力してフィールドを無効にします。

于 2012-08-21T17:37:16.980 に答える