Forum APEX - Développement Oracle Application Express

Le site des développeurs francophones APEX - Oracle Application Express

Vous n'êtes pas identifié(e).

Annonce

Bienvenue sur le forum Oracle APEX

S'il s'agit de votre première visite, nous vous invitons à consulter la FAQ en cliquant sur le lien ci-dessous. Vous pouvez poster ici toutes vos questions sur l'installation, le développement (composants clients et serveurs), l'administration des instances Oracle APEX. Par ailleurs, ce forum diffuse les annonces et actualités relatives à Oracle APEX.

Oracle APEX 4.1

Oracle APEX 4.1 est disponible depuis le 24 août 2011.

Oracle APEX 4.0

Oracle APEX 4.0 est disponible depuis le 23 juin 2010. Il existe 2 distributions, une distribution en langue anglaise uniquement et une distribution multilingue.

#1 2010-08-10 14:50:04

admin
Administrateur
Inscription : 2010-08-02
Messages : 83

Comment désactiver le bouton Submit pendant le traitement d'une page ?

Pour les traitements de masse, on utilise généralement une page APEX contenant une région de filtre et un bouton de soumission. Par défaut, lorsque l'utilisateur clique sur le bouton, la page est soumise et il attend que le traitement soit terminé. S'il est impatient ou inattentif, il risque même de cliquer de nouveau sur le bouton de soumission.

Solution

Créer un bouton de type HTML, ce type de bouton nous permet d'affecter un ID au bouton. On pourra ainsi lui attribuer un style par exemple, visibility hidden/visible.
Pensez à cocher l'option Récheminer vers une URL sans soumission de page.

Ajoutez une fonction JavaScript

<script language="JavaScript" type="text/javascript">
          <!--
          function getItemDisable(node) {
          
          document.getElementById("LOADING_IMAGE").style.visibility = "visible";
          
          document.getElementById("REACHEMINER").disabled = true;
          
          }
          //-->
          </script>

Créez une région HTML sans aucun modèle, position de région de modèle de page 1 et insérez le code ci-dessous dans le bloc Source

<style type="text/css">
div.nonvisible
{
visibility:hidden;
text-align: center;
}
</style>
<div id="LOADING_IMAGE" class="nonvisible" style="align:center">
<a>Génération de l'agenda en cours, patientez...</a>
</div>

Modifiez le réacheminement associé au bouton de lancement avec ce code par exemple :

javascript:getItemDisable('REACHEMINER'); doSubmit('REACHEMINER');

* getItemDisable('REACHEMINER'); désactive le bouton et affiche le message d'attente
* soumet la page au traitement APEX

Hors ligne

Pied de page des forums