2017-02-21 21 views
0

名前が異なる3つの送信ボタンがあるHTMLフォームを送信しようとしていますが、フォームを送信するために押されたボタンを特定できません。複数の送信ボタンが付いたフォームを送信する -

HTML:

<div class="col-md-12"> 
    <form id="validation-form" class="form-horizontal form-label-left" 
    data-parsley-priority-enabled="false" 
    novalidate="novalidate" 
    action="./controller/productlineNewController.php" method="post"> 
     <div class="col-md-6"> 
      <section class="widget"> 
       <div class="body"> 
        <fieldset> 
         <div class="form-group"> 
          <label class="control-label col-md-4" for="pl_name">Product Line Name *</label> 
          <div class="col-md-6"> 
           <input type="text" id="pl_name" name="pl_name" onBlur="checkAvailability()" 
           class="form-control input-transparent" 
           placeholder="Enter Product Line Name" required="required"> 
           <span class="help-block" id="availability-status"></span> 
          </div> 
          <p><img src="img/small_loading.gif" id="loaderIcon" style="display:none" /></p> 
         </div> 
        </fieldset> 
       </div> 
      </section> 
     </div> 
     <div class="col-md-12"> 
      <section class="widget"> 
       <div class="form-actions"> 
        <div class="row"> 
         <div class="col-md-10 col-md-offset-2"> 
          <button type="submit" name="save" class="btn btn-lg btn-success" 
          onclick="needToConfirm = false;">Save</button>&nbsp; 
          <button type="submit" name="save_new" class="btn btn-lg btn-success" 
          onclick="needToConfirm = false;">Save &amp; New Product Line</button>&nbsp; 
          <button type="submit" name="save_project" class="btn btn-lg btn-primary" 
          onclick="needToConfirm = false;">Save &amp; Add Project</button>&nbsp; 
          <button type="button" onclick="resetForm()" 
          class="btn btn-lg btn-danger">Reset Form</button>&nbsp; 
         </div> 
        </div> 
       </div> 
      </section> 
     </div> 
    </form> 
</div> 

PHP - productlineNewController.php

print_r($_POST); 
if (array_key_exists("save", $_POST)) { 
    $action = TRUE; 
    $new = FALSE; 
    $task = FALSE; 
    echo 'save'; 
    } elseif (array_key_exists('save_new', $_POST)) { 
    $action = TRUE; 
    $new = TRUE; 
    $task = FALSE; 
    echo 'save_new'; 
    } elseif (array_key_exists('save_project', $_POST)) { 
    $action = TRUE; 
    $new = FALSE; 
    $task = TRUE; 
    echo 'save_project'; 
} 

結果:任意の送信ボタンがクリックされたが、私が持っていた場合、私がチェックするisset機能を試してみました

Array ([pl_name] => aaa) 

何もない。

私もbuttons

<input type="submit" name="save2" id="save" class="btn btn-lg btn-success" onclick="needToConfirm = false;" value="Save">&nbsp;             

   

が、同じ問題のinput instedを使用しようとしました。

助けてください。私はHTMLページからこのJSコードを落としたとき

edit 

それがうまく働いたが、私は、フォームを検証するため、このJSコードが必要です。誰でもこの問題を解決できますか?

 <script src="lib/parsleyjs/dist/parsley.min.js"></script> 
+3

あなたの方法でこれを試してみてください(http://stackoverflow.com/questions/ 547821/two-submit-buttons-in-one-form) – flynorc

+0

このスレッドをチェックすると、送信ボタンに値属性を追加する必要があります。 – flynorc

+0

はい@flynorc私はこれも[1つのフォームのボタンを2つ送信する]と重複していると思います(http://stackoverflow.com/questions/547821/two-submit-buttons-in-one-form) – ImBS

答えて

0

コアPHPで使用されるこの方法は、[2対1つの形のボタンを提出する]の可能重複

<?php 
    if (isset($_POST['save'])) { 
     # save was clicked 
    } 
    else if (isset($_POST['save_new'])) { 
     # save_new was clicked 
    } 
    else if (isset($_POST['save_project'])) { 
     # save_project was clicked 
    } 
?> 
+0

私はすでにそのコードを試しました$ _POST ['save']は存在しません。 –

+0

あなたはどのフレームワークを使用していますか? – ImBS

+1

フレームワークがありません。それはちょうどPHP –

関連する問題