2016-05-07 14 views
1

フォームからデータを送信しようとしています。このフォームには2つの画像ボタンがあります。一方のボタンはデータを保存し、もう一方はボタンを別のフォームに送信します。問題は、いずれかの画像ボタンを押すと、「saveDaTa」と「saveData」という値が送信されるということです。2つの画像ボタンを持つ1つのフォームは、1つだけを押すと両方のボタンの値を送信します。

これらの非表示の入力は、私が押す画像ボタンで送信されます。

<input type="hidden" name="saveData" value="2"> 
<input type="hidden" name="sendData" value="3"> 

私はのvar_dumpになって何イムチェックし、両方の変数が送信されています。

//var_dump($this->input->post(NULL, TRUE)); 
    'saveData' => string '2' (length=1) 
    'sendData' => string '3' (length=1) 

<td rowspan="2" align="center"> 
    <a href="javascript:void(0);" onclick="javascript:document.forms['form1'].submit();"> 
     <img src="<?php echo base_url(); ?>images/save.png" alt="Save Data" width="30" height="30" /> 
     <input type="hidden" name="saveData" value="2"> 
    </a> 
    <br /> 
&nbsp;&nbsp;Save 

<!-- The user pressed the icon to send the data so it will now have to save that the user decided to do this in the database a Boolean in the database 
still the view. --> 

</td> 
<td rowspan="2" align="center"> 
    <a href="javascript:void(0);" onclick="javascript:document.forms['form1'].submit();"> 
     <img src="<?php echo base_url(); ?>images/save.png" alt="Send Data" width="30" height="30" /> 
     <input type="hidden" name="sendData" value="3"> 
    </a> 
    <br /> 
&nbsp;&nbsp;Send 
</td> 
</form> 

答えて

1

もちろん、フォームが送信されると、すべての隠し入力も送信されます。 あなたはそれが簡単で行うことができます:

<style> 
.ibtn { 
    border:none; 
    padding:0; 
} 
.ibtn::-moz-focus-inner { 
    padding: 0; 
    border: 0 
} 
</style> 

<form> 
    <button class="ibtn" name="send" value="1"><img src="http://www4.dict.cc/img/but_speech.gif"></button> 
    <button class="ibtn" name="send" value="2"><img src="http://www4.dict.cc/img/but_speech.gif"></button> 
</form> 

他の代替は、独自のデータを持つ2つのフォームそれぞれを分離することです。

+0

私は1つのページに2つのフォームがあります。どのように私はあなたの答えで送信するフォームを指定するのですか? – learningbyexample

関連する問題