J'utilise php et ajax pour faire un message dans la page. Demande.php demande le deuxième retour.php. Mais je n'ai pas le retour:
demande.php p> retour.php p>
4 Réponses :
Votre post code> peut échouer. Ajouter un
Erreur code> Callback pour signaler à ce sujet:
$.ajax({
type: 'POST',
url: 'return.php',
data: {postnuber: numberp},
success: function(res) {
$('#numberp').html(res);
},
error: function(xhr, status, error) {
alert('error: ' + status);
}
});
Votre code semble aller droit. Son erreur dans des éléments de forme. Vous écrivez «numéro» ID Two Times.SO Programme ne peut pas obtenir la valeur. Il suffit de remplacer l'identifiant comme ci-dessous.
Dans le premier formulaire, changez l'ID P>
<form> Enter No:<input type="text" id="getnumber" name="number"/><br/> <input type="button" value="Get number" onclick="getnumber()"/> </form>
Oui, j'ai pensé à cela avant de poster. Ça ne marche pas. Je soupçonne son navigateur
J'ai essayé votre code .Juste remplacer l'ID dans le premier formulaire. Cela résoudra votre problème
À la fin, le problème était le manquant
première chose est id unique. Vous utilisez un demande.php p> ID = numéro code> dans deux endroits qui crée une ambiguït.check ce code de travail.
<?php
function returnString() {
$post_number = $_POST['postnumber'];
echo "the name entered ->", $post_number, " <- hier";
}
returnString();
?>
Ces champs de saisie sont sous des formulaires séparés, il est correct de le faire tant qu'il sélectionne le bon formulaire lorsqu'il manipule la soumission - mais sinon, ouais, ouais, dans un environnement réel, vous voulez probablement être plus précis.
Ouais c'est sous les formes séparées, mais éventuellement, vous obtenez la valeur par ID.SO, cela crée définitivement une ambiguïté
Mon mauvais, je cherchais l'attribut de noms, je n'ai pas remarqué que l'ID a également été nommé numéro. Vous êtes 100% correct. Les identifiants doivent toujours être uniques.
@Codebreaker Comme j'ai commenté les suggestions de Gaurav seulement en changeant le travail de l'identifiant. J'ai essayé cela auparavant. Juste sur peu de détails que vous avez mentionnés consiste à ajouter le
J'ai modifié votre code pour utiliser dans return.php J'ai modifié votre Il est plus sémantiquement correct d'utiliser En outre, il n'est pas nécessaire d'utiliser l'attribut Le code suivant fonctionne sur mes machines. p> demande.php p> retour.php p> Sumbit () code> pour capturer les données de formulaire. De cette façon, nous pouvons sérialiser les données et l'envoyer à votre processeur de formulaire (notez que
Serialize () code> Serialisera tous les champs d'entrée de votre formulaire, il serait alors à la hauteur de votre gestionnaire de formulaire. Valeurs correctes.
_ Post _ Post Code> Variable pour refléter le champ de saisie
Nom code> valeur d'attribut. Le nom code> attributs code> est la façon dont la PHP sait de rechercher des valeurs de forme (que je sache). Enfin, j'ai changé votre type d'entrée vers
Soumettre code> et à l'intérieur du gestionnaire code> Soumettre () code> gestionnaire j'utilise
E.PreventDefault () Code> Pour prévenir le comportement par défaut et utiliser AJAX. P>
type = "Soumettre" code> pour soumettre des boutons. p>
onclick = "" code> dans votre élément de formulaire, il est un peu propre pour séparer votre JS de votre HTML et gérer la soumission. p>
Cela fonctionne comme un charme, et il est en effet plus clair et lisible. Merci! Je ne comprends que pourquoi la forme
Le seul divi dont vous avez besoin est la sortie div, qui était dans votre code. Vous cible #Numberp dans votre fonction de réussite afin de pouvoir exister quelque part sur votre document. Il ne doit pas nécessairement être un identifiant ou un div, mais votre exemple le ciblait
C'est exactement ce que je voulais dire. Dans mon code d'origine (voir ci-dessus), je retourne "NumberP" dans mon message () mais je ne l'explique pas dans mon formulaire de demande. J'ai oublié la sortie
Avez-vous vérifié votre console de navigateur pour voir si votre message
jQuery code> est en cours d'exécution à votre poste ou peut-être peut-être vérifié la console de navigateur pour des erreurs?
Oui c'est l'intrus, il ne montre pas.
Une raison quelconque de votre JS et de vos formes HTML est dans un fichier PHP?
@Vladimirmujakovic Quel problème voyez-vous avec le code> JavaScript > sur la même page pour le
php code>? Ce n'est pas comment je voudrais structurer des choses, mais je ne vois pas non plus comment cela causerait des problèmes pertinents pour votre commentaire ...
Pas de problème, je suis juste curieux à des fins de test.
@Vladimirmujakovic parce qu'il existe également des appels PHP dans le fichier.