Problème avec AJAX
Squad-G
-
Squad-G Messages postés 70 Statut Membre -
Squad-G Messages postés 70 Statut Membre -
Bonjour,
J'essaie de construire un truc simple, mais j'y arrive même pas... je comprend pu vraiment enfaîte. Je suis plenté là. Alors voilà, je dois valider un formulaire à partir d'un lien se trouvant dans une boîte qui s'affiche par dessus l'écran.
Page de base classique :
if($Count > 0)
{
echo '<form name="step2_form" onsubmit="new Ajax.Updater(\'Step_Frame\', \'./Librairies/AJAX/Upload/Step_3.php\', {asynchronous:true, parameters:Form.serialize(this)}); return false;" action="" method="POST"><strong>'.LANG_UPLOAD_STEP_2_CATEGORIE.' </strong><select name="categorie">';
echo '<option value="0"'.(($Assoc_Verif) ? '' : ' selected').'>'.LANG_UPLOAD_STEP_2_CHOOSE.'</option>';
while($Assoc = SQL_Assoc($Query))
{
echo '<option id="cur_cat" onclick="document.getElementById(\'step2_submit_id\').type=\'submit\'; return false" value="'.$Assoc['ID'].'"'.($Assoc_Verif ? (($Assoc_Verif['Categorie']==$Assoc['ID']) ? ' selected' : '') : '').'>'.htmlentities($Assoc['Nom']).'</option>';
}
echo '</select><br /><br /><input type="hidden" onclick="displayMessage(\'/Alertes/Upload_Confirm_Categorie.php\');return false" name="step2_submit_name" id="step2_submit_id" value="'.LANG_UPLOAD_STEP_2_NEXT_STEP.'" /></form>';
}
Page de confirmation (Upload_Confirm_Categorie.php) :
<div id="box6" class="bg7">
<div class="title">
<h2 class="text2 bg8">Choisir une catégorie</h2>
</div>
<div class="content">
<p>Étes-vous certain de vouloir utiliser cette catégorie ?</p>
<p><a href="#" onclick="document.getElementById('step2_submit_id').value='Chargement en cours ...'; document.getElementById('step2_submit_id').disabled='disabled'; document.step2_form.submit(); closeMessage(); return false">Oui</a> - <a href="#" onclick="closeMessage();return false;">Non</a></p>
</div>
</div>
Le document.step2_form.submit(); sur la seconde page ne fonctionne pas , le formulaire se voit renvoyé à la page de base (Step_1.php) au lieu de Step_3.php (la page de base est Step_2.php appelé en ajax dans une page appelé Upload.php (qui elle appele par défaut Step_1.php
Mercià tous ceux qui laisseront de l'aide ici !
J'essaie de construire un truc simple, mais j'y arrive même pas... je comprend pu vraiment enfaîte. Je suis plenté là. Alors voilà, je dois valider un formulaire à partir d'un lien se trouvant dans une boîte qui s'affiche par dessus l'écran.
Page de base classique :
if($Count > 0)
{
echo '<form name="step2_form" onsubmit="new Ajax.Updater(\'Step_Frame\', \'./Librairies/AJAX/Upload/Step_3.php\', {asynchronous:true, parameters:Form.serialize(this)}); return false;" action="" method="POST"><strong>'.LANG_UPLOAD_STEP_2_CATEGORIE.' </strong><select name="categorie">';
echo '<option value="0"'.(($Assoc_Verif) ? '' : ' selected').'>'.LANG_UPLOAD_STEP_2_CHOOSE.'</option>';
while($Assoc = SQL_Assoc($Query))
{
echo '<option id="cur_cat" onclick="document.getElementById(\'step2_submit_id\').type=\'submit\'; return false" value="'.$Assoc['ID'].'"'.($Assoc_Verif ? (($Assoc_Verif['Categorie']==$Assoc['ID']) ? ' selected' : '') : '').'>'.htmlentities($Assoc['Nom']).'</option>';
}
echo '</select><br /><br /><input type="hidden" onclick="displayMessage(\'/Alertes/Upload_Confirm_Categorie.php\');return false" name="step2_submit_name" id="step2_submit_id" value="'.LANG_UPLOAD_STEP_2_NEXT_STEP.'" /></form>';
}
Page de confirmation (Upload_Confirm_Categorie.php) :
<div id="box6" class="bg7">
<div class="title">
<h2 class="text2 bg8">Choisir une catégorie</h2>
</div>
<div class="content">
<p>Étes-vous certain de vouloir utiliser cette catégorie ?</p>
<p><a href="#" onclick="document.getElementById('step2_submit_id').value='Chargement en cours ...'; document.getElementById('step2_submit_id').disabled='disabled'; document.step2_form.submit(); closeMessage(); return false">Oui</a> - <a href="#" onclick="closeMessage();return false;">Non</a></p>
</div>
</div>
Le document.step2_form.submit(); sur la seconde page ne fonctionne pas , le formulaire se voit renvoyé à la page de base (Step_1.php) au lieu de Step_3.php (la page de base est Step_2.php appelé en ajax dans une page appelé Upload.php (qui elle appele par défaut Step_1.php
Mercià tous ceux qui laisseront de l'aide ici !
A voir également:
- Problème avec AJAX
- Shoutbox avec ajax - Forum Javascript
- Yggtorrent erreur ajax ✓ - Forum PHP
- Erreur ajax c est quoi ✓ - Forum PHP
- Easyphp ajax ✓ - Forum PHP
- Ajax ne fonctionne pas... ? - Forum Programmation
3 réponses
Désolé pour le post plus haut, pour les cods voilà :
Page de base (Step_2.php) inclut via AJAX dans Upload.php
La page Upload_Confirm_Categorie.php appelé dans la petite boite :
La page Upload.php
Voilà merci !
Page de base (Step_2.php) inclut via AJAX dans Upload.php
if($Count > 0)
{
echo '<form name="step2_form" onsubmit="new Ajax.Updater(\'Step_Frame\', \'./Librairies/AJAX/Upload/Step_3.php\', {asynchronous:true, parameters:Form.serialize(this)}); return false;" action="" method="POST"><strong>'.LANG_UPLOAD_STEP_2_CATEGORIE.' </strong><select name="categorie">';
echo '<option value="0"'.(($Assoc_Verif) ? '' : ' selected').'>'.LANG_UPLOAD_STEP_2_CHOOSE.'</option>';
while($Assoc = SQL_Assoc($Query))
{
echo '<option id="cur_cat" onclick="document.getElementById(\'step2_submit_id\').type=\'submit\'; return false" value="'.$Assoc['ID'].'"'.($Assoc_Verif ? (($Assoc_Verif['Categorie']==$Assoc['ID']) ? ' selected' : '') : '').'>'.htmlentities($Assoc['Nom']).'</option>';
}
echo '</select><br /><br /><input type="hidden" onclick="displayMessage(\'/Alertes/Upload_Confirm_Categorie.php\');return false" name="step2_submit_name" id="step2_submit_id" value="'.LANG_UPLOAD_STEP_2_NEXT_STEP.'" /></form>';
}
else
{
echo LANG_UPLOAD_STEP_2_NONE;
}
La page Upload_Confirm_Categorie.php appelé dans la petite boite :
<div id="box6" class="bg7">
<div class="title">
<h2 class="text2 bg8">Choisir une catégorie</h2>
</div>
<div class="content">
<p>Étes-vous certain de vouloir utiliser cette catégorie ?</p>
<p><a href="#" onclick="document.getElementById('step2_submit_id').value='Chargement en cours ...'; document.getElementById('step2_submit_id').disabled='disabled'; document.step2_form.submit(); closeMessage(); return false">Oui</a> - <a href="#" onclick="closeMessage();return false;">Non</a></p>
</div>
</div>
La page Upload.php
<?php
require_once('./Librairies/Final.php');
Template_Render_Header(LANG_UPLOAD_PAG_TITLE);
User_Status();
User_Online();
?>
<div id="box7">
<h2 class="text3 bg10"><?php echo LANG_UPLOAD_ADD_TITLE ?></h2>
<?php
$Query_Verif = SQL_Query('SELECT * FROM `cur_upload` WHERE `User_ID` = "'.$OUser['User_ID'].'" LIMIT 1') or SQL_Error(__FILE__,__LINE__);
$Assoc_Verif = SQL_Assoc($Query_Verif);
if($Assoc_Verif)
{
echo '<p><span style="color: red; font-weight:bold;">'.LANG_UPLOAD_WARNA.'</span> '.LANG_UPLOAD_WARNB.' <a href="#" onclick="displayMessage(\'/Alertes/Upload_Reset.html\');return false">'.LANG_UPLOAD_WARNC.'</a>'.LANG_UPLOAD_WARND.'</p>';
}
?>
<div id="Step_Frame">
<?php echo LANG_AJAX_LOADING ?>
</div>
</div>
<?php
Template_Render_Footer();
?>
Voilà merci !