2017-02-21 1 views
0

Ich versuche, ein HTML-Formular, das 3 Senden Schaltflächen mit unterschiedlichen Namen, aber ich kann nicht identifizieren, die zum Senden des Formulars gedrückt wurde, zu übermitteln.Senden Sie ein Formular mit mehreren Senden Schaltflächen - PHP

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'; 
} 

Ergebnis:

Array ([pl_name] => aaa) 

I isset Funktion versucht haben, zu überprüfen, ob jeder Submit-Button geklickt wurde, aber ich habe nichts.

Ich habe auch versucht input insted buttons

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

   

aber gleiches Problem zu verwenden.

Bitte helfen.

edit 

wenn ich diesen JS Code aus der HTML Seite fiel es funktionierte gut, aber ich brauche diesen JS Code, um das Formular zu validieren. kann das bitte jemand beheben.

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

Mögliches Duplikat [Zwei in einer Form Tasten einreichen] (http://stackoverflow.com/questions/ 547821/two-submit-buttons-in-one-form) – flynorc

+0

Überprüfen Sie diesen Thread, ich schätze, Sie sollten auch ein Wert-Attribut zu Ihren Senden-Buttons hinzufügen. – flynorc

+0

Ja, @flynorc ich denke auch, das ist ein Duplikat von [Zwei Senden von Schaltflächen in einer Form] (http://stackoverflow.com/questions/547821/two-submit-buttons-in-one-form) – ImBS

Antwort

0

Diese Methode in Core-PHP verwendet Versuchen Sie dies in Ihrem Weg

<?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

Ich habe diesen Code bereits ausprobiert aber $ _POST ['save'] ist nicht vorhanden. –

+0

Welches Framework verwenden Sie? – ImBS

+1

Kein Rahmen. es ist nur PHP –

Verwandte Themen