Newstext mit Variable
Matthias
- javascript
Habe ein Skript für einen Lauftext in einem Formularfeld.
Wollte keinen statischen Text einbauen, sondern einen Text der aus einer PHP File includet wird. Bei dem Funktionsaufruf soll dann dieser String als Variable an die JS Funktion übergeben werden.
Da ist irgendwo der Hund drin.
var banTime1;
function banner(text){
var msg=text;
msg=msg.substring(1,msg.length)+msg.substring(0,1);
document.banner.text.value=msg;
banTime1=setTimeout("banner()",100);
}
msg ist undefiniert. Bin in JS nicht gerade gut. Kann mir jemand helfen.
Grüsse
Matthias
Hi,
var msg=text;
msg ist also text
function banner(text){
text wurde banner() übergeben.
banTime1=setTimeout("banner()",100);
Fragt sich nur wo? Hier jedenfalls nicht.
Also ist text undefiniert ...
msg ist undefiniert.
... und ergo msg ebenfalls.
Gruß, Cybaer
Und nu weiss ich den Fehler, kann mir aber eine Antwort nicht zusammenreimen, vielleicht gibst du mir noch einen kleinen Tipp zur Problemlösung !
Grüsse
Matthias
Tag Mat.
Und nu weiss ich den Fehler, kann mir aber eine Antwort nicht zusammenreimen, vielleicht gibst du mir noch einen kleinen Tipp zur Problemlösung !
Füge an der entsprechenden Stelle eine echo-Anweisung ein:
<?php
$text = "Ich bin ein nerviger Lauftext";
?>
function banner() {
var msg = <?php echo $text ?>;
...
}
That's it.
Siechfred
Füge an der entsprechenden Stelle eine echo-Anweisung ein:
<?php
$text = "Ich bin ein nerviger Lauftext";
?>
function banner() {
var msg = <?php echo $text ?>;
...
}
Nee sorry so leicht gehts nicht.
hi,
$text = "Ich bin ein nerviger Lauftext";
?>
function banner() {
var msg = <?php echo $text ?>;Nee sorry so leicht gehts nicht.
Schön, dass du das auch merkst :-)
Dann ist es jetzt wohl an der Zeit, dass du dich mal ein bisschen mit den Grundlagen von Javascript beschäftigst, und den Fehler analysierst.
gruß,
wahsaga
Dann ist es jetzt wohl an der Zeit, dass du dich mal ein bisschen mit den Grundlagen von Javascript beschäftigst, und den Fehler analysierst.
Guter Vorschlag ! Die wahrheit ist, ich hasse JS. PHP ist meine absolute lieblings Sache leider kann ich soetwas nur mit JS realisieren, drumm drück ich mich immer vor JS.
hi,
Guter Vorschlag ! Die wahrheit ist, ich hasse JS. PHP ist meine absolute lieblings Sache leider kann ich soetwas nur mit JS realisieren, drumm drück ich mich immer vor JS.
Dann lautet die Alternative wohl: Lass' es bleiben.
gruß,
wahsaga
Dann lautet die Alternative wohl: Lass' es bleiben.
Falsch ! Finde ne neue Lösung.
So per externer file, wo man die Variable msg definiert, kann man die Variable ohne Probleme bearbeiten und einbinden. So wirds gemacht !
:-) !
Grüsse
Matt
Tag Mat.
var msg = <?php echo $text ?>;
Nee sorry so leicht gehts nicht.
Jepp, da fehlten noch die Anführungszeichen, also so:
var msg = "<?php echo $text ?>";
ergibt beim Client:
var msg = "Ich bin ein nerviger Lauftext";
Damit wäre das Problem der Variablenzuweisung gelöst, nun musst du nur noch dein Banner zum Laufen bringen. Dabei wäre es sinnvoll, den Text zu lassen, wie er ist, und nur die Position zu ändern:
text = "Ich bin ein nerviger Lauftext";
zeilenbreite = 5;
function banner(pos) {
pElem = document.getElementById('lauftext');
if(pos > text.length - 1)
pos = 0;
msg = text.substr(pos,zeilenbreite);
if(!pElem.hasChildNodes()) {
tNode = document.createTextNode(msg);
pElem.appendChild(tNode);
}
else {
pElem.firstChild.nodeValue = msg;
}
pos++;
window.setTimeout("banner("+pos+")", 200);
}
Jetzt noch ein leeres HTML-Element mit der ID "lauftext", schon klappt's.
Siechfred
Hi,
Und nu weiss ich den Fehler, kann mir aber eine Antwort nicht zusammenreimen, vielleicht gibst du mir noch einen kleinen Tipp zur Problemlösung !
? Übergib banner() den Text mittels Parameter, was Du nicht tust.
banTime1=setTimeout("banner()",100);
banTime1=setTimeout("banner('"+msg+"')",100);
Gruß, Cybaer