/ / एक क्वेरी स्ट्रिंग के लिए पैरामीटर सूची एचटीएमएल फॉर्म - एचटीएमएल, फॉर्म

एक क्वेरी स्ट्रिंग HTML फॉर्मेट में पैरामीटर सूची - एचटीएमएल, प्रपत्र

<form name="input" action="/test/compare method="get">
<input type="checkbox" name="id" value="val1">val1<br/>
<input type="checkbox" name="id" value="val2">val2<br/>
<input type="submit" value="Submit">
</form>

मुझे एक क्वेरी स्ट्रिंग चाहिए जो इस तरह दिखती है:

/test/compare?id=val1,val2

क्या यह संभव है?

उत्तर:

उत्तर № 1 के लिए 1

अल्पविराम से अलग किए गए मानों के समान नहीं, लेकिन आप सभी चयनित चेकबॉक्सों के मानों की एक सरणी निम्नानुसार प्राप्त कर सकते हैं।

<form name="input" action="/test/compare" method="get">
<input type="checkbox" name="id[]" value="val1">val1<br/>
<input type="checkbox" name="id[]" value="val2">val2<br/>
<input type="submit" value="Submit">
</form>

पीएचपी

// here you"l get array of id in $_GET and process according to your need
$ids=$_GET["id"];

$str=implode(",",$ids);  //array to comma separated values

echo $str;   //output will be checked checkbox values--> val1,val2

संपादित करें:

जावास्क्रिप्ट का उपयोग कर एक और समाधान

<form name="input" action="/test/compare" method="get">
<input type="checkbox" name="id" value="val1">val1<br/>
<input type="checkbox" name="id" value="val2">val2<br/>
<input type="submit" value="Submit">
</form>
<!-- load jQuery -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"> </script>
<script type="text/javascript">
$(document).ready(function(){
$("form[name=input]").submit(function(){   //bind onSubmit handler on page ready
//get all field values
var query="id="; //write here parameter name
$("form[name=input] [name=id]:checked").each(function(i){ //it will check for all elements inside form with name "id"
query+=$(this).val()+",";
});

query=query.slice(0,-1); //remove last extra comma
//redirect url by passing "query" as GET parameter
window.location=$(this).attr("action")+"?"+query;
return false;
});
});
</script>

जवाब के लिए 0 № 2

आप बना सकते name="id[]" फॉर्म पैरामीटर को एक सरणी बनाने के लिए, लेकिन इसके अलावा मुझे विश्वास नहीं है कि आप जो पूछ रहे हैं उसे करना संभव है। फॉर्म फ़ील्ड के रूप में आपके पास अद्वितीय मान होने चाहिए जब तक कि वे एक सरणी न हों।