/ / Lista parametrów do ciągu zapytania HTML Forma - html, formularze

Lista parametrów do ciągu znaków zapytania Formularz HTML - html, formularze

<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>

Chcę ciąg zapytania, który wygląda następująco:

/test/compare?id=val1,val2

czy to możliwe?

Odpowiedzi:

1 dla odpowiedzi № 1

Nie dokładnie jako wartości rozdzielone przecinkami, ale możesz uzyskać tablicę wartości wszystkich zaznaczonych pól wyboru w następujący sposób.

<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>

PHP

// 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

EDYTOWAĆ:

INNE ROZWIĄZANIE ZA POMOCĄ JAVASCRIPT

<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 dla odpowiedzi nr 2

Możesz zrobić name="id[]" aby ustawić parametr formularza na tablicę, ale poza tym nie wierzę, że można zrobić to, o co prosisz. Powinieneś mieć unikalne wartości jako pola formularza, chyba że są tablicą.