2017-02-21 4 views
0

Я пытаюсь отправить форму HTML, в которой есть 3 кнопки отправки с разными именами, но я не могу определить, какой из них был нажат для отправки формы.Отправить форму с несколькими кнопками отправки - 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'; 
} 

Результат:

Array ([pl_name] => aaa) 

Я попытался isset функцию, чтобы проверить, если кнопка была нажата представить, но я получил ничего.

Я также попытался использовать input InstEd из buttons

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

   

но та же проблема.

Пожалуйста, помогите.

edit 

, когда я бросил этот JS код из HTML страницы она работала хорошо, но мне нужен этот 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 Я также думаю, что это дубликат [Две кнопки отправки в одной форме] (http://stackoverflow.com/questions/547821/two-submit-buttons-in-one-form) – ImBS

ответ

0

Этот метод используется в ядра PHP Попробуйте это на вашем пути

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