在尝试使用POST提交表单之前,我尝试使用javascript自动选择选择框的所有选项。当用户选择框中的所有元素时,元素将通过POST发送。但我不希望用户每次都这样做,这就是我想用脚本自动完成的原因。
这里是表格:(选择框在开头没有选项)
<form action="insert.php" method="post" id ="myForm">
...
<select name="bestellung[]" id="myList" size="9" multiple>
</select>
<button type="button" id="".$this->pizzaName."" data-preis="".$this->preis."" onclick="im_korb('".$this->pizzaName."');"></button>
<div>
<table>
<tr>
<td> <label for="name">Name :</label> </td>
<td> <input type="text" name="name" id="name" placeholder=" Ihr Name"
size="40" required/> </td>
</tr>
<tr>
<td> <label for="adresse">Lieferadresse :</label> </td>
<td> <input type="text" name="adresse" id="adresse" placeholder=" Ihre Adresse"
size="40" required/> </td>
</tr>
</table>
</div>
...
<div id="button3">
<input type="submit" value="Bestellen">
</div>
</form>
然后我使用此脚本在选择框中添加许多选项:
function im_korb(pizza){
var selectList = document.getElementById("myList");
var Button = document.getElementById(pizza);
var newOption = document.createElement('option');
newOption.text = pizza.toString();
newOption.value = pizza.toString();
selectList.add(newOption);
}
然后我使用这个脚本提交表单:(但当用户不自己选择时,它仍然没有发送元素)
$(document).ready(function() {
$('#myForm').on('submit', function() {
/* Here I try to select all the options of the selectbox
before sending the elements with POST, but it is not working*/
var selectList = document.getElementById("myList");
for (var i=0; i< selectList.options.length; i++) {
// should select all the options but it is not working
selectList.options[i].selected = true;
}
var name = $('#name').val();
var adresse = $('#adresse').val();
var bestellung = $('#myList').val();
$.post( "insert.php", {name: name, adresse: adresse , bestellung: bestellung}, function(data){
alert('Erfolgreiche Bestellung');
});
document.getElementById("name").value='';
document.getElementById("adresse").value='';
document.getElementById("myList").options.length = 0;
return false;
}); });
这是页面的一部分&#34; insert.php&#34;谁收到POST发送的元素:
foreach ( sanitize($_POST['bestellung']) as $pizza)
{
$query = "INSERT INTO bestelltePizza(fBestellungID, fPizzaName, Status) VALUES ('$idLezteBestellung', '$pizza','bestellt')";
$database->query($query);
}
当用户未选择选项时,不会使用POST发送任何内容。但是我尝试在发送它们之前自动选择它们。
请帮助。