Afficher un message
Vieux 22/05/2007, 19h29   #6
ASM
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Formulaire contenu de la case option

Tantale a écrit :
> Merci pour ces éléments de réponse.
>
> Le but est simple : afficher par une commande javascript la page baseb avec
> un volet droit choisi (baseg0.htm, ... ,baseg28.htm), ceci sans cliquer dans
> la boîte de sélection mais par un javascript.


Ayayïe !
je crois qu'on en a déjà parlé ?

> (En fait les baseg sont des études et je veux pouvoir les choisir de façon
> aléatoire, sans cliquer sur la boîte de sélection).


Ma fois, essayons :

à mettre je ne sais où ... par exemple le fichier de gauche ?
mettre dans le head :

<script type="text/javascript">
function init() {
var s = document.forms[0].elements[0];
var nb = s.length;
nb = Math.floor(Math.random()*nb);
s.selectedIndex = nb;
LoadNextPage(nb,0);
}
onload = init;
</script>


Essayer aussi pour la page de cadres 'base.htm' :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<HTML>
<script>
<!--
var loaded=0;
function init() {
var s = parent.LeftSide.document.forms[0].elements[0];
var nb = s.length;
nb = Math.floor(Math.random()*nb);
s.selectedIndex = nb;
parent.loaded = nb;
parent.LeftSide.LoadNextPage(nb,0);
}
//-->
</script>
<HEAD>
<TITLE>Vladimir Akimovich Bron</TITLE>
<meta content="Bron studies" />
<link rel="shortcut icon" href="../Favicon.ico" />
</HEAD>
<FRAMESET border=0 cols=342,* frameBorder=0 frameSpacing=0>
<FRAME src="baseb.htm" name="LeftSide"
onload="if(parent.loaded==0) parent.init();">
<FRAME src="baseg0.htm" name="RightSide">
<NOFRAMES>
<BODY>
<p>This page uses frames, but your browser doesn't support them.</p>
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>

> Ce que je sais actuellement faire est seulement d'ouvrir la page baseb.htm
> avec le volet baseg0.htm; ceci en lançant base.htm.


c'est çà le grand problème : arriver à décortiquer ce que fait base.htm

> LoadNextPage(3,0) dans un javascript marche très bien pour afficher le
> volet baseg3.htm mais le problème est que le texte de la boîte de sélection
> ne bouge pas.


il suffit de faire/rajouter :
document.forms[0].elements[0].selectedIndex = 3;

> Le but est donc d'écrire dans la boîte de sélection le texte qui correspond
> à la page baseg3.htm.
>
> Parmi les éléments donnés, j'ai essayé par ex
>
> <script language="Javascript" type="text/javascript">
> parent.LeftSide.document.forms[0].elements[0]="ok"


là tu dis que le select = ok
ce qui n'a ... aucun sens ... !

parent = la page de cadres
LeftSide = la frame nommée 'LeftSide'
document = grosso modo le body
forms[0] = le 1er formulaire
elements[0] = le 1er élément (du formulaire) donc le select

> </script>
>
> sans résultat. Ce ne doit pas être une bonne syntaxe. (sans doute à faire
> dresser les cheveux sur la tête des spécialistes)
>
> J'ai aussi essayé d'utiliser le passage
>> // Modifier un des options
>> // par exemple, celui sélectionné :
>> var opt = s.options[s.selectedIndex];
>> opt.text = 'Decine-Charpieux, III - 2005/10';

>
> mais cela me donne une erreur.


Possible ... tout dépend des erreurs que tu fais :-)

Ce petit test-ci fonctionne :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>change option</title>
<script type="text/javascript">
function chge(texto) {
var s = document.forms[0].elements[0];
var opt = s.options[s.selectedIndex];
opt.text = texto;
opt.value = texto;
alert('verif :\n'+s.options[s.selectedIndex].text+'\n'+
s.options[s.selectedIndex].value);
}
</script>
</head>
<body>
<form onsubmit="return false;">
<select
onchange="alert('votre choix :\n'+
this.options[this.selectedIndex].text+'\n'+
this.options[this.selectedIndex].value);">
<option value="1">&nbsp;Bron,V - 1927-1&nbsp;
<option value="2">&nbsp;Bron,V - 1927-2&nbsp;
<option value="3">&nbsp;Bron,V - 1948-6
</select>
<button onclick="chge('Decine-Charpieux, III - 2005/10');">
Decine-Charpieux, III - 2005/10</button>
<button onclick="chge('DC_III_2005-10.htm');">
DC_III_2005-10.htm</button>
</form>
</body>
</html>



--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé
  Réponse avec citation
 
Page generated in 0,07034 seconds with 9 queries