Anfänger-Frage: Wenn Wert sich ändert, text ausgeben.
thor
- javascript
<script type="text/javascript">
var i=document.getElementById("h-value");
while (Math.abs(i)>85)
{
document.write("Guten Tag, Herr text.");
}
</script>
Dort, wo der Text erscheinen soll, passiert nichts.
(Was der Code bewirken soll ist hoffentlich klar)
<script type="text/javascript">
var i=document.getElementById("h-value");
existiert dieses Element zu diesem Zeitpunkt bereits?
while (Math.abs(i)>85)
oops: was hast du in i gespeichert? Ein Elementobjekt.
aber was für eins? hat es ein value Atribut?
dann kannst du sagen
alert(i.value);
ansonsten musst du sagen
alert(i.innerHTML);
{
document.write("Guten Tag, Herr text.");
Ich bin noch nicht 85. Wie sagt man da?
}
</script>
mfg Beat
--
><o(((°> ><o(((°>
<°)))o>< ><o(((°>o
Der Valigator leibt diese Fische
Hallo Beat,
»» ~~~javascript
<script type="text/javascript">
»» var i=document.getElementById("h-value");
existiert dieses Element zu diesem Zeitpunkt bereits?
Ja, dort existiert es bereits. Mithilfe eines Sliders (Schiebebalken)kann der user den Wert des Textfeldes "h-value" bestimmen.
»» while (Math.abs(i)>85)
oops: was hast du in i gespeichert? Ein Elementobjekt.
aber was für eins? hat es ein value Atribut?
Nein, hat es nicht.
dann kannst du sagen
alert(i.value);ansonsten musst du sagen
alert(i.innerHTML);
Leider funktioniert beides nicht. Bei beidem bliebt der Text stehen, egal wie ich den Balken verändere.
»» {
»» document.write("Guten Tag, Herr text.");Ich bin noch nicht 85. Wie sagt man da?
Dies hier ist ja nur zum testen. ;)
»» }
»» </script>
>
> mfg Beat
Hier jetzt der ganze (neue) Quelltext:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Strategie-Tool</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!--
<link type="text/css" rel="StyleSheet" href="css/winclassic.css" />
-->
<script type="text/javascript">
//<![CDATA[
function getQueryString( sProp ) {
var re = new RegExp( sProp + "=([^\\&]*)", "i" );
var a = re.exec( document.location.search );
if ( a == null )
return "";
return a[1];
};
function changeCssFile( sCssFile ) {
var loc = String(document.location);
var search = document.location.search;
if ( search != "" )
loc = loc.replace( search, "" );
loc = loc + "?css=" + sCssFile;
document.location.replace( loc );
}
var cssFile = getQueryString( "css" );
if ( cssFile == "" )
cssFile = "css/bluecurve/bluecurve.css";
document.write("<link type=\"text/css\" rel=\"StyleSheet\" href=\"" + cssFile + "\" />" );
//]]>
</script>
<!--
<link type="text/css" rel="StyleSheet" href="css/winclassic.css" />
-->
<script type="text/javascript" src="js/range.js"></script>
<script type="text/javascript" src="js/timer.js"></script>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script type="text/javascript" src="js/slider.js"></script>
</head>
<body>
<div class="slider" id="slider-1" tabIndex="1">
<input class="slider-input" id="slider-input-1"/>
</div>
<input name="slider" id="h-value" onchange="s.setValue(parseInt(this.value))"/>
<script type="text/javascript">
var s = new Slider(document.getElementById("slider-1"), document.getElementById("slider-input-1"));
s.onchange = function () {
document.getElementById("h-value").value = s.getValue();
};
s.setValue(85);
window.onresize = function () {
s.recalculate();
};
</script>
<input class="inputdef" type="button" value="Bitte hier drücken"
onclick="javascript: if (document.getElementById('slider-input-1') > '85'){
alert('größer als 85');
}
else
{
alert('kleiner oder gleich wie 85');
}
">
Wenn man auf den Button klickt, soll der erste Satz erscheinen, wenn die festgelegte Zahl größer als 85 ist. Sonst der zweite Satz.
So sieht es aus: klick
Mahlzeit thor,
<input class="inputdef" type="button" value="Bitte hier drücken"
onclick="javascript: if (document.getElementById('slider-input-1') > '85'){
"Wenn das Elementobjekt mit der ID 'slider-input-1' größer als ein String mit dem Inhalt '85' ist ..."
... Du merkst, warum das nicht klappen kann?
MfG,
EKKi
Dort, wo der Text erscheinen soll, passiert nichts.
Was soll passieren?
(Was der Code bewirken soll ist hoffentlich klar)
Ehrlich gesagt, nein.
Bitte beschreibe doch einmal, was du vorhast, was dieser Code tun soll.
Vermutung: Du hast ein Textfeld, darin gibt der Benutzer etwas ein.
Dann (Wann? bei der Eingabe? Beim Verlassen des Feldes? Beim Absenden des Formulars?) soll abhängig von der Eingabe ein Alert angezeigt werden.
Mathias
var i=document.getElementById("h-value");
while (Math.abs(i)>85)
Das macht keinen Sinn. Ein Element ist keine Zahl, d.h. Math.abs(i) ist in deinem Fall immer NaN (also keine Zahl)
{
document.write("Guten Tag, Herr text.");
Du weißt, das document.write() das aktuelle Dokument überschreibt, wenn du es nach dem die Seite fertig geladen ist, benutzt?
Dort, wo der Text erscheinen soll, passiert nichts.
(Was der Code bewirken soll ist hoffentlich klar)
Nein, der Code ist so nicht lauffähig und würde auch nichts sinnvolles tun.
Struppi.