• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Button per Javascript steuern

jonasCBS

New member
Hallo, ich habe schon die Suche hier bemüht aber leider nichts richtiges gefunden. Und zwar möchte ich folgendes machen. ich habe einen ganz normalen button, der auf eine andere seite verlinkt. daneben ein texteingabefeld. nun soll der button erst gesperrt sein, wenn möglich ohne link, und wenn jemand in das textfeld das wort ok eingibt, soll der button freigegeben werden, also der link soll aktiv sein, sodass man die andere seite aufrufen kann.
Vielleicht kann man das auch so machen, dass man die ebenen austauscht, also eine ebene, die einen button ohne link enthält, nach eingabe des wortes ok, soll dann die ebene ausgetauscht werden, also die ebene mit dem verlinkten button soll angezeigt werden.
ich hoffe ihr könnt mir helfen, vielen dank :rolleyes:
 
Man kann sich auch einen Knopf an die Backe nähen und ein Klavier dranhängen...


Schreibe in den Button folgendes:

onclick="if (document.formname.textfeldname.value=='OK') document.location.href='lalala.htm'"

Du kannst das natürlich auch in eine Funktion packen, und mit einem to_lower_case() verbinden...

[EDIT /] to_lower_case() ist nur ein Platzhalter, unter www.selfhtml.net findest du die richtige Bezeichnung.
 
Bei dem Textfeld machst du ein onChange das eine funktion aufruft, die die z-indexe der Ebenen mit den Buttons austauscht und überprüft, ob da auch ok drinsteht.

Für mich hört sich das alles nach irgendwelchen Dialern an, bei denen man auch mit ok bestätigen muß. Nach seriöser Programmierung sieht das auf jeden Fall nicht aus.
 
nene, das ist kein dialer. soweit bin ich noch nicht, dass ich sowas programmieren kann. :)
ich habe nur eine textbox mit text drin, dass soll einfach mit ok bestätigt werden.
danke für die antworten, ich werds mal probieren.
 
Was ich damit andeuten wollte ist, das manche Leute aus Angst vor einem Dialer nicht ok eintippen werden, somit dein Angebot nicht nutzen werden.... Denk Dir doch was anderes aus, was weniger Ähnlichkeit mit einem Dialer hat. Besser ist das, glaub mir.
 
Vielleicht so hier...
Code:
<form name="form1">
  <input type="text" onkeyup="if (this.value=='OK') document.form1.Submit.disabled=false;">
  <input type="submit" name="Submit" disabled>
</form>
 
ich brauche auch fast das gleiche und zwar

der button ist disabled, der button ist beschriftet mit Aktualisierung in 30 sek. dann zeigt er Aktualisierung in 29 sek. usw. wenn er bei 0 angekommen ist dann wird der button wieder aktiv, also er wird dunkler und zeigt nun Aktualisierung erfolgt.

kann mir da mal wer helfen ich habe 0 plan von javascript
 
Code:
<html>
<head>
<script>
var a=31;//Sekunden
function counter()
{
a=a-1;//eine Sekunde wird abgezogen
document.form1.Submit.value='Aktualisierung in '+a+' sec.';//Text für Feld
if (a>0)
{window.setTimeout("counter()",1000);//wenn noch keine 30 Sekunden um, Wiederholung
}
else//bei 0 Sekunden
{
document.form1.Submit.value='Aktualisierung erfolgt';//Änderung der Beschriftung
document.form1.Submit.disabled=false;//Aktivieren des Buttons
}
} 
</script>
</head>
<body onload="counter()">
<form name="form1">
  <input type="submit" name="Submit" disabled>
</form>
</body>
</html>
Das geht bestimmt noch anders, aber ich hab seit über einem Jahr nicht mehr mit js gearbeitet. Du solltest noch versuchen, den Button auf konstanter Größe zu halten, sieht sonst bescheiden aus.
 
hmm habe das nun so abgeändert aber der zeigt mir weder einen button noch läuft die zeit runter.

PHP:
if(isset($_POST['actionok'])){
echo '<script>
var a=31;//Sekunden
function counter()
{
a=a-1;//eine Sekunde wird abgezogen
document.form1.Submit.value="Aktualisierung in '+a+' sec.";//Text für Feld
if (a>0)
{window.setTimeout("counter()",1000);//wenn noch keine 30 Sekunden um, Wiederholung
}
else//bei 0 Sekunden
{
document.form1.Submit.value="Aktualisierung erfolgt";//Änderung der Beschriftung
document.form1.Submit.disabled=false;//Aktivieren des Buttons
}
} 
</script>
<body onload="counter()">
<form name="form1">
  <input type="submit" name="Submit" disabled>
</form>
</body>';
if($_POST['action'] == 'starten'){
.....

warum ich das so gemacht habe ?

habe hier document.form1.Submit.value="Aktualisierung in '+a+' sec.";//Text für Feld " " machen müssen weil ich ne fehlermeldung bekommen habe und weiter unten bei Aktualisierung auch. Vieleicht liegt es dadran das es nicht geht ?
 
so nochmal abgeändert so
document.form1.Submit.value="Aktualisierung in "+a+" sec.";//Text für Feld
und nun geht es

jetzt habe ich aber noch eine andere frage. den refresh soll ich den so machen <meta http-equiv="refresh" content="30; URL=http:...."> oder gibts da was inteligenteres
 
Warum bitte machst du das mit PHP?
Und warum ersetzt du bei den Zeilen
document.form1.Submit.value="Aktualisierung in '+a+' sec.";
und
document.form1.Submit.value="Aktualisierung erfolgt";
die einfachen Anführungsstriche durch doppelte? Ich hab mir da schon was dabei gedacht! Und das, was hinter // steht, das sind nur Kommentare zum besseren Verständnis für dich.

Wozu ein refresh? Ich dachte du willst fast dasselbe wie oben, nur dass der Button erst nach 30 sec. funktioniert? Ist doch sinnlos, da nen Button hinzumachen, der dir die Zeit runterzählt, und dann kommt einfach ne neue Seite.
 
Zuletzt bearbeitet:
reiflo schrieb:
Warum bitte machst du das mit PHP?
Und warum ersetzt du bei den Zeilen
document.form1.Submit.value="Aktualisierung in '+a+' sec.";
und
document.form1.Submit.value="Aktualisierung erfolgt";
die einfachen Anführungsstriche durch doppelte? Ich hab mir da schon was dabei gedacht! Und das, was hinter // steht, das sind nur Kommentare zum besseren Verständnis für dich.

Wozu ein refresh? Ich dachte du willst fast dasselbe wie oben, nur dass der Button erst nach 30 sec. funktioniert? Ist doch sinnlos, da nen Button hinzumachen, der dir die Zeit runterzählt, und dann kommt einfach ne neue Seite.


'' sind durch "" weil das ganze in einem echo ''; steht in php
und das refresh weil ich da eine neue seite auffrufen will, und der button ist doch geil, also ich finde den klasse. natürlich könnte man vieleicht auch nur einen text anzeigen lassen anstatt ein button.

jetzt habe ich aber noch eine frage und zwar wie schaut das aus wenn da nur ein text ausgegeben wird anstatt ein button. ich werde es vergleichen was besser ausschaut das nehm ich dann
 
So, ich hab den Text jetzt in ein weißes Textfeld gepackt...musst du halt nur mit der Größe noch was ändern, ansonsten ist das die eleganteste Lösung, die mir eingefallen ist:
Code:
<html>
<head>
<script>
var a=31;//Sekunden
function counter()
{
a=a-1;//eine Sekunde wird abgezogen
document.form1.text.value="Aktualisierung in "+a+" sec.";//Text für Feld
if (a>0)
{
window.setTimeout("counter()",1000);//wenn noch keine 30 Sekunden um, Wiederholung
}
else//bei 0 Sekunden
{
document.form1.text.value="Aktualisierung erfolgt";//Änderung der Beschriftung
}
}
</script>
<body onload="counter()">
<form name="form1">
  <input type="text" name="text" style="border-width:0px; background:none;">
</form>
</body>
</html>
 
Zurück
Oben