2016-09-22 88 views
0

這是一個什麼樣,我需要提交多個值:只用一個按鈕

<form action="action.php"> 
<br> 
    <input type="radio" name="firstname" value="name1" checked="checked"> First name:name1 
    <br> 
    <br> 
    <input type="hidden" name="lastname" value="lastname1"> 
    <br> 
<br> 
    <input type="radio" name="firstname" value="name2"> First name:name2 
    <br> 
    <br> 
    <input type="hidden" name="lastname" value="lastname2"> 
    <br> 
    <br> 
    <input type="radio" name="firstname" value="name3"> First name:name3 
    <br> 
    <br> 
    <input type="hidden" name="lastname" value="lastname3"> 
    <br><br> 
    <input type="submit" value="Submit"> 
</form> 

我需要提交僅隱藏值,其中無線電檢查。 例如,如果我檢查firstname1我需要一起提交firstname1和隱藏lastname1只。任何人都可以幫忙嗎?

也許我的問題是不正確的。當我點擊提交時,我只需要對應一個隱藏的值,無線電檢查。我無法得到它。我已經嘗試過在這裏提供一些JavaScript,但沒有成功。我似乎在某處四處走動。任何人都可以展示正確的方式嗎?

已解決。

+0

你爲什麼不只是讓它提交所有的輸入。 PHP腳本可以根據'$ _POST ['firstname']'的值決定使用哪些輸入。 – Barmar

+0

@Bamar感謝您的建議。這是工作。 –

回答

0

試試這個:

$(document).ready(function() { 

    $("input[type=submit]").on("click",function(e){ 

     $myRadio = $("input[type=radio]:checked"); 

     var value1 =$myRadio.val(); 

     var value2 = $myRadio.nextAll("input[type=hidden]:first").val(); 

     $.post('action.php', {val:value1,val2:value2 }, function(response) { 

      alert(response); 

     }) 

    }) 

}) 
+0

謝謝你的建議,但這似乎不起作用。沒有錯誤也沒有行動... –

0

如果你只是想提交表單的某一部分,請從形式的行動,並使用JavaScript/AJAX提交表單。類似這樣的:

$("#submit").click(function() { 
    var data = //get the data you want to submit, i think you can figure that part out. 

    $.ajax({ 
     type: "POST", 
     url: "js/sendEmail.php", //same link as your action 
     data: data, 
     success: function(response){ 
      console.log(response); 

     }, 
     error: function(response){ 
      console.log(response); 

     } 
    }); 
    return false; 
}); 
0

如果它們是相同的形式,這將自動發生。所有你需要做的就是正確地拉他們。

所以在PHP中,你會這樣做;

$fname = $_POST["firstname1"];

$lname = $_POST["lastname1"];

0

我真的只是它們拆成不同的形式。最快捷的方式,超級簡單。

<form action="action.php" id="form1"> 
    <input type="radio" name="firstname" value="name_1" checked="checked"> First name:name1 
    <input type="hidden" name="lastname" value="lastname1"> 
</form> 

<form action="action.php" id="form2"> 
    <input type="radio" name="firstname" value="name_2" checked="checked"> First name:name2 
    <input type="hidden" name="lastname" value="lastname2"> 
</form> 

<form action="action.php" id="form3"> 
    <input type="radio" name="firstname" value="name_3" checked="checked"> First name:name3 
    <input type="hidden" name="lastname" value="lastname3"> 
</form> 
<input id="submitter" type="submit" value="Submit"> 

而在JavaScript中,利用jQuery的:

var id = -1; 
$("input[name=='firstname']").on("click", function(){ 
    id = $(this).val().split("_")[1]; 

}).bind(this); 

$("#submitter").on("click", function(){ 
    if(id==-1) return; 
    $("form#form"+id)[0].submit(); 
}).bind(this); 
+0

在我的情況下,這是不適合的... –

+0

請描述爲什麼,所以我可以給你更多的見解? – Fallenreaper