0

より多くの送信ボタンを備えたフォームを作成しても問題ありませんか? つまり、いくつかの入力フィールドと、テーブルと、いくつかの情報をさまざまな形式でエクスポートする 3 つのボタンを含むフォームがあるということです。

<form id="form1" name="form1" method="post" >
    <label for="country"><strong>Countries: </strong></label><br />
    <select id="country" name="country">
      <?php
      //some php code here
      ?>
    </select> 
    <br />
    <br/>
    <label for="start_date"><strong>Start date: </strong></label><br />
    <input name="start_date" type="text" id="start_date" value="<?php if(!empty($start))echo $start; ?>" size="20" />
    <br />
    <br />  
    <label for="stop_date"><strong>Stop date: </strong></label><br />
    <input name="stop_date" type="text" id="stop_date" value="<?php if(!empty($stop)) echo $stop; ?>" size="20" />
    <br />
    <br />
        <input type="submit" name="fill_table" value="Retrieve data" /> 

    <div id="table">
      <h1>&nbsp;</h1>
      <hr />
      <h2>Sales Report</h2>
        <table class="display" id="data_table" >
          <thead>
              <tr>
                <th>Product</th>
                <th>Date</th>
                <th>Quantity</th>
              </tr>
          </thead>
          <tbody>
            <?php
                //some php code here
            ?>
          </tbody>
        </table>
        <br />
        <br />
        <br />
        <input type="submit" class="button" name="export_xls" value="Export xls" />
        <input style="margin-left:10px;" type="submit" name="export_html" value="Export html" />
  </form>

このようにしても問題ありませんか、それとも特定の送信ボタンを持つ 3 つのフォームを作成する必要がありますか? 送信ボタンを押すたびに、入力フィールド:start_date、stop_date、および「country」から選択した項目に興味があります。PSそれが最適かどうか、そして他のプログラマーがこれをどのように処理するかを知りたい

4

4 に答える 4

2

主な問題は、ユーザーがテキスト入力フィールドで Enter キーを押すとどうなるかということです。ほとんどのブラウザーでは、フォーム データが送信されますが、これはボタンの 1 つを押すことに対応していますか? たとえば、HTML フォーム内の複数の送信ボタンの質問を参照してください。

フォームごとに送信ボタンを 1 つだけ配置するのが最も安全です。(ただし、ユーザーの利便性のために、同じ機能を持つ送信ボタンを長いフォームに追加することは安全です。) これは、ユーザーがラジオ ボタンまたは選択メニューを使用して代替 (たとえば、出力形式) を選択することを意味します。ボタンの選択によって。ただし、これは必ずしも実用的ではありません。

于 2012-07-20T08:06:36.013 に答える
1

悪い考えではないと思います。ただし、送信ボタンはすべて同じ name 属性を持つ必要があります。

これをチェックしてください

于 2012-07-20T07:42:59.930 に答える
1

はい、1 つのフォームに複数の送信ボタンを配置できます。送信されたフォームを処理するためにphpを使用しているので、@NoZipが提案したように各送信ボタンに同じ名前を付けませんが、代わりに異なる名前を付けます。そのため、コードのphp処理部分で次のように尋ねます。

<?php
    if (isset($_POST["submitButtonName1"]))
        some code here...
    else if (isset($_POST["submitButtonName2"]))
        some other code here...
    else
        code logic for no submit button clicked   
?>
于 2012-07-20T07:52:38.443 に答える
1

私は、データ レコードを更新できるシステムを完成させました。私が使用した機能の 1 つは、複数のサブミットを使用して、ユーザーがさまざまなオプションで更新を「スタンプ」できるようにすることでした。例: 「アクティブ」、「保留中」、「無効」。複数のオプションのドロップダウン ボックスを保存し、システムを直感的に保ちました。

値の異なる複数の送信ボタンを使用すると、送信フィールドに多くの値のいずれかを指定してフォームを送信でき、ユーザー インターフェイスを改善できます。さらに、その有効な HTML。

于 2012-07-20T07:54:13.903 に答える