名前が異なる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>
<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';
}
結果:任意の送信ボタンがクリックされたが、私が持っていた場合、私がチェックするisset
機能を試してみました
Array ([pl_name] => aaa)
何もない。
私もbuttons
<input type="submit" name="save2" id="save" class="btn btn-lg btn-success" onclick="needToConfirm = false;" value="Save">
が、同じ問題のinput
instedを使用しようとしました。
助けてください。私はHTML
ページからこのJS
コードを落としたとき
edit
それがうまく働いたが、私は、フォームを検証するため、このJS
コードが必要です。誰でもこの問題を解決できますか?
<script src="lib/parsleyjs/dist/parsley.min.js"></script>
あなたの方法でこれを試してみてください(http://stackoverflow.com/questions/ 547821/two-submit-buttons-in-one-form) – flynorc
このスレッドをチェックすると、送信ボタンに値属性を追加する必要があります。 – flynorc
はい@flynorc私はこれも[1つのフォームのボタンを2つ送信する]と重複していると思います(http://stackoverflow.com/questions/547821/two-submit-buttons-in-one-form) – ImBS