2013-01-03 51 views
12

मैं कार्रवाई करने के लिए विकल्प का चयन करें में एक मूल्य के पारित करने के लिए की जरूरत है, जहां मैं =कैसे पारित करने के लिए <option><select> से मूल्य कार्रवाई

किसी को भी मदद कर सकते हैं agent_id है बनाने के लिए?

<form method="POST" action="index.php?action=contact_agent&agent_id="> 
<select> 
<option value="1">Agent Homer</option> 
<option value="2">Agent Lenny</option> 
<option value="3">Agent Carl</option> 
</select> 
+1

यक पॉप्युलेट किया जाएगा। किसी भी कारण से आप एक पोस्ट के बजाय सिर्फ एक पोस्ट का उपयोग नहीं कर सकते हैं? – JohnFx

+0

क्या यह केवल HTML के माध्यम से करना संभव है? –

+0

@ जॉन एफएक्स - मुझे लगता है कि 'यक' दोनों को एक ही क्वेरी में 'मिश्रण और जीईटी' मिश्रण के लिए है, जबकि, जबकि अजीब, एचटीएमएल विनिर्देशन की अनुमति है। इस व्यवहार की अपेक्षा करने वाले सर्वर के उदाहरण के लिए @ मार्को द्वारा उत्तर देखें। –

उत्तर

5
jQuery के साथ

:
एचटीएमएल:

<form method="POST" name="myform" action="index.php?action=contact_agent&agent_id=" onsubmit="SetData()"> 
    <select name="agent" id="agent"> 
    <option value="1">Agent Homer</option> 
    <option value="2">Agent Lenny</option> 
    <option value="3">Agent Carl</option> 
    </select> 
</form> 

jQuery:

$('form').submit(function(){ 
    $(this).attr('action',$(this).attr('action')+$('#agent').val()); 
    $(this).submit(); 
}); 

जावास्क्रिप्ट:

function SetData(){ 
    var select = document.getElementById('agent'); 
    var agent_id = select.options[select.selectedIndex].value; 
    document.myform.action = "index.php?action=contact_agent&agent_id="+agent_id ; # or .getAttribute('action') 
    myform.submit(); 
} 
+0

मुझे संदेह है कि चुनिंदा नाम 'agent_id' होना चाहिए, जिस स्थिति में कार्रवाई केवल' index.php? Action = contact_agent' – climbage

+1

ऐसी सरल चीज़ करने के लिए jQuery को शामिल करने की आवश्यकता नहीं है ... :( – vdbuilder

+0

@vdbuilder सही हैं। –

16

आप jQuery या जावास्क्रिप्ट का उपयोग करने के जरूरत नहीं है।

चयन के name टैग का उपयोग करें और फ़ॉर्म को यह काम करने दें।

<select name="agent_id" id="agent_id"> 
+4

क्या आप इस का एक उदाहरण उदाहरण प्रदान कर सकते हैं? मैं आपके प्रस्ताव को पूरी तरह से समझने में सक्षम नहीं हूं। धन्यवाद। –

+1

यह एक अच्छा जवाब प्रतीत होता है लेकिन बहुत कम जानकारी है। शायद कुछ संदर्भ होना चाहिए –

4

@ शोएब ने उत्तर दिया, आपको किसी भी jQuery या जावास्क्रिप्ट की आवश्यकता नहीं है। आप इसे शुद्ध एचटीएमएल के साथ कर सकते हैं!

<form method="POST" action="index.php?action=contact_agent"> 
    <select name="agent_id" required> 
    <option value="1">Agent Homer</option> 
    <option value="2">Agent Lenny</option> 
    <option value="3">Agent Carl</option> 
    </select> 
    <input type="submit" value="Submit"> 
</form> 
  1. प्रपत्र कार्रवाई से निकालें&agent_id= के बाद आप इसे वहाँ की जरूरत नहीं है।
  2. name="agent_id" चयन
  3. वैकल्पिक रूप से ऐड शब्द required में जोड़े संकेत मिलता है कि इस चयन की आवश्यकता है।

आप index.php के रूप पोस्टिंग द्वारा PHP का उपयोग कर रहे हैं, तो आप पकड़ कर सकते हैं के बाद से agent_id$_POST साथ

/** Since you reference action on `form action` then value of $_GET['action'] will be contact_agent */ 
$action = $_GET['action']; 

/** Value of $_POST['agent_id'] will be selected option value */ 
$agent_id = $_POST['agent_id']; 

इस तरह के एक सरल कार्य आप किसी भी जावास्क्रिप्ट या jQuery उपयोग नहीं करना चाहिए के लिए निष्कर्ष के रूप में। @FelipeAlvarez कि अपनी टिप्पणी उत्तर देने के लिए

+0

बेस्ट उत्तर! साधारण सामानों पर इस तरह के एक विस्तृत स्पष्टीकरण के लिए धन्यवाद कि हम कभी-कभी व्यवहार को बिल्कुल नहीं जानते हैं। –

1

आप बस अपने खुद के कोड का उपयोग लेकिन चुनिंदा टैग

<form method="POST" action="index.php?action=contact_agent&agent_id="> 
    <select name="agent_id"> 
     <option value="1">Agent Homer</option> 
     <option value="2">Agent Lenny</option> 
     <option value="3">Agent Carl</option> 
    </select> 

तो के लिए नाम जोड़ सकते हैं आप इसे इस

String agent=request.getparameter("agent_id"); 
2
बजाय की कोशिश की

की तरह उपयोग कर सकते हैं दोनों पोस्ट को पकड़ें और प्रतिक्रियाएं प्राप्त करें - आपके पास पोस्ट में जो कुछ भी आप चाहते हैं वह हो सकता है।

आपका कोड:

<form method="POST" action="index.php?action=contact_agent&agent_id="> 
    <select> 
    <option value="1">Agent Homer</option> 
    <option value="2">Agent Lenny</option> 
    <option value="3">Agent Carl</option> 
    </select> 
</form> 

आसानी से बन सकता है:

<form method="POST" action="index.php"> 
    <input type="hidden" name="action" value="contact_agent"> 
    <select name="agent_id"> 
    <option value="1">Agent Homer</option> 
    <option value="2">Agent Lenny</option> 
    <option value="3">Agent Carl</option> 
    </select> 
</form> 
तो सूचकांक में

।PHP - इन मानों को

$_POST['action'] // "contact_agent" 
$_POST['agent_id'] // 1, 2 or 3 based on selection in form...