Je tente d'envoyer un forum plus d'une fois lorsqu'un utilisateur clique sur le bouton Soumettre. Pourquoi? Je suis essayer d'ajouter plus d'un idem à un panier, le logiciel de panier que j'utilise ne supporte pas l'ajout de plus d'un produit à la fois et je ne veux pas éditer le code de base. Le forum caché aurait les identifiants de produit comme '1,2,3' J'ai alors besoin du JavaScript pour séparer les valeurs et poster chacune d'elles en utilisant AJAX dans le panier. Je ne suis pas un bon JavaScript, mais j'ai codé ce que je pense que cela devrait fonctionner mais il suffit de me donner une alerte: «Il y avait un problème avec la demande. deux fois. Je ne peux pas voir ce qui ne va pas, toute aide et suggestions sont les bienvenues! Voici le code:Soumission d'un formulaire plusieurs fois
JS
<script type="text/javascript">
function testResults (form) {
var product_id = form.product_id.value;
var quantity = form.quantity.value;
var brokenstring=product_id.split(",");
for (var i in brokenstring)
{
var http_request = false;
function makePOSTRequest(url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('POST', url, true);
http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http_request.setRequestHeader("Content-length", parameters.length);
http_request.setRequestHeader("Connection", "close");
http_request.send(parameters);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('myspan').innerHTML = result;
} else {
alert('There was a problem with the request.');
}
}
}
var poststr = "product_id=" + encodeURI(brokenstring[i]) +
"&quantity=" + encodeURI(quantity);
makePOSTRequest('post.php', poststr);
}
}
</script>
HTML
<form action="javascript:testResults(document.getElementById('myform'));" name="myform" id="myform">
<input type="text" name="product_id" id="product_id" />
<input type="hidden" name="quantity" id="quantity" value="1" />
<br />
<input type="submit" name="button" value="Submit" />
</form>
<span name="myspan" id="myspan"></span>
post.php
<?php
print_r($_POST);
?>
Beaucoup d'erreurs d'orthographe rendent la compréhension difficile. Tu veux dire forme pas forum, n'est-ce pas? – whatnick
idem -> article. là -> leur. Ici -> Voici. – recursive
Désolé! J'ai été debout pendant plus de 12 heures, ma mauvaise orthographe empira beaucoup moins le sommeil que j'ai. – Scott