Im essayant de remplir la valeur d'entrée du formulaire dans une nouvelle fenêtre pop-up, pour cette im en utilisant la méthode window.open. J'ai réussi à obtenir le pop-up widdow cependant, l'entrée n'a pas été transmise, la page retourne sans valeur. Veuillez indiquer comment résoudre ce problème. Merci d'avance. Je suis nouveau dans le développement Web.

Scénario

function validate(){ <!-- HTML form validation done by JavaScript.  -->

<!-- variable object used to represent the questions in the form  -->

var x1=document.getElementById("text1");
var x2=document.getElementById("text2");
var x3=document.getElementById("hobbies");
var x4=document.getElementById("Gender");


<!-- if used to verify if no information given the the alert will pop up upon submission -->
if (x1.value == "" || x2.value == "" || x3.value == "" || x4.value == "") 

{
alert("No blank values allowed")
return false;
}
else
{
window.open('https://quiet-odyssey-258110.appspot.com/'+self.location,'mywin',
'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
}

}

</script>

Forme

<form onsubmit="return validate()">

<!-- label used to tag the field name -->
<label>Full Name : </label>
<input type= "text" id="text1" name= "text1" placeholder="Enter your Full Name here..."><br>

<label>Email address : </label>
<input type= "email" id="text2" name= "email" placeholder="Enter your Email Address here..." ><br><br>

<label>Hobbies : </label><br><br>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Reading"/>Reading<br/>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Painting"/>Painting<br/>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Traveling"/>Traveling<br/>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Baking"/>Baking<br/><br/>

<label>Gender</label><br><br>  <!-- drop donw list has been used to choose gender and locations -->
     <input type="radio" id="Gender" name="gender" value="Male" > Male<br>
    <input type="radio" id="Gender" name="gender" value="Female"> Female<br>
    </select><br>




    </hr>
    <button type="submit" class="registerbtn" >Register</button>
    <button type="reset" class="Reset">Reset</button>


</form>

PHP

Congratulations !!!<br/><br/>
Your Full Name : <?php echo $_GET["text1"]; ?><br/>
Your Email address : <?php echo $_GET["email"]; ?><br/>
Your Hobbies : <?php foreach($_GET['hobbies'] as $selected){
echo $selected.", ";};?><br/>
Your Gender : <?php echo $_GET["gender"]; ?><br/>
0
Pasu 6 nov. 2019 à 12:15

3 réponses

Vous essayez d'obtenir des paramètres avec $_GET["text1"] mais ne les transmettez pas dans la chaîne de requête d'URL window.open. Pour avoir quelque chose dans $_GET["text1"], vous devriez avoir quelque chose comme ?text1=some_value dans votre URL

0
MazzCris 6 nov. 2019 à 09:22

Vous avez manqué d'ajouter des valeurs à l'URL.

Window.open ('https://quiet-odyssey-258110.appspot.com/ ?text1='+ x1 +'&email='+x2+', 'mywin', 'gauche = 20, haut = 20, largeur = 500, hauteur = 500, barre d'outils = 1, redimensionnable = 0');

0
kamprasad 6 nov. 2019 à 09:38

Vous n'avez pas défini la méthode de soumission du formulaire. Tout d'abord, vous mentionnez votre méthode dans votre code HTML.

 <form onsubmit="return validate()" method="post" action="">

<!-- label used to tag the field name -->
<label>Full Name : </label>
<input type= "text" id="text1" name= "text1" placeholder="Enter your Full Name here..."><br>

<label>Email address : </label>
<input type= "email" id="text2" name= "email" placeholder="Enter your Email Address here..." ><br><br>

<label>Hobbies : </label><br><br>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Reading"/>Reading<br/>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Painting"/>Painting<br/>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Traveling"/>Traveling<br/>
<input type="checkbox" id="hobbies" name="hobbies[]" value="Baking"/>Baking<br/><br/>

<label>Gender</label><br><br>  <!-- drop donw list has been used to choose gender and locations -->
     <input type="radio" id="Gender" name="gender" value="Male" > Male<br>
    <input type="radio"
    </hr>
    <button type="submit" class="registerbtn" >Register</button>
    <button type="reset" class="Reset">Reset</button>   

</form>

Si votre méthode GET obtient alors Get SomethingLike:

Your Full Name : <?php echo $_GET["text1"]; ?><br/>
Your Email address : <?php echo $_GET["email"]; ?><br/>
Your Hobbies : <?php foreach($_GET['hobbies'] as $selected){
echo $selected.", ";};?><br/>
Your Gender : <?php echo $_GET["gender"]; ?><br/>

Si votre méthode POST alors obtenir un résultat quelque chose comme:

    Your Full Name : <?php echo $_POST["text1"]; ?><br/>
    Your Email address : <?php echo $_POST["email"]; ?><br/>
    Your Hobbies : <?php foreach($_POST['hobbies'] as $selected){
    echo $selected.", ";};?><br/>
    Your Gender : <?php echo $_POST["gender"]; ?><br/>

Si vous utilisez JavaScript, votre variable de réponse doit être transmise avec une URL comme celle-ci

    window.location.href =
 URL?text1="+text1+"&email="+email+"&hobbies="+hobbies+"+&gender="+gender+"
0
Gopinath Sooriyakumar 6 nov. 2019 à 10:56