Я пытаюсь отправить форму 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>
<button type="submit" name="save_new" class="btn btn-lg btn-success"
onclick="needToConfirm = false;">Save & New Product Line</button>
<button type="submit" name="save_project" class="btn btn-lg btn-primary"
onclick="needToConfirm = false;">Save & Add Project</button>
<button type="button" onclick="resetForm()"
class="btn btn-lg btn-danger">Reset Form</button>
</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">
но та же проблема.
Пожалуйста, помогите.
edit
, когда я бросил этот JS
код из HTML
страницы она работала хорошо, но мне нужен этот JS
код для проверки формы. кто может это исправить.
<script src="lib/parsleyjs/dist/parsley.min.js"></script>
Возможный дубликат [Две кнопки отправки в одной форме] (http://stackoverflow.com/questions/ 547821/two-submit-buttons-in-one-form) – flynorc
проверить эту тему, я думаю, вы также должны добавить атрибут значения в свои кнопки отправки. – flynorc
Да @flynorc Я также думаю, что это дубликат [Две кнопки отправки в одной форме] (http://stackoverflow.com/questions/547821/two-submit-buttons-in-one-form) – ImBS