abfrage falls das form ausgefüllt wurde und man möchte auf eine andere seite wechseln
Hallo zusammen,
Ich habe das Problem das ich derzeit ein Backend in php programmiere bei dem es unter anderem auch die Möglichkeit gibt
Newseinträge zu verfassen. Jetzt ist es schon öfter passiert das das Form ausgefüllt wurde doch dann ohne auf speichern zu klicken
zu einem andern menüpunkt navigiert wurde (ja ich weiß ... selber schuld :D) trozdem würde ich gerne dort eine Abfrage einbauen ob man
die seite trozt das man etwas in das Form eingetragen hat verlassen möchte (soll ja auch ma vorkommen).
Bisher habe ich nicht wirklich Ahnung von Javascript und mit php kann ich das nicht wirklich umsetzen da dies ja serverseitig ist und ergo dort das Form eh abgeschikt sein muss um darauf zuzugreifen. Ich habe schon teilweise sachen gefunden bei denen ich dann die links mit einem onklick ereignis ausstatten sollte... ich denke zwar das dies ja machbar ist jedoch weiß ich nicht wie ich es umsetzte das nur wenn ich auf der newsseite bin und dann wechsle die abfrage kommt sonst würde das ja extrem nerven...
Grüße
BlackScript
Ich habe das Problem das ich derzeit ein Backend in php programmiere bei dem es unter anderem auch die Möglichkeit gibt
Newseinträge zu verfassen. Jetzt ist es schon öfter passiert das das Form ausgefüllt wurde doch dann ohne auf speichern zu klicken
zu einem andern menüpunkt navigiert wurde (ja ich weiß ... selber schuld :D) trozdem würde ich gerne dort eine Abfrage einbauen ob man
die seite trozt das man etwas in das Form eingetragen hat verlassen möchte (soll ja auch ma vorkommen).
Bisher habe ich nicht wirklich Ahnung von Javascript und mit php kann ich das nicht wirklich umsetzen da dies ja serverseitig ist und ergo dort das Form eh abgeschikt sein muss um darauf zuzugreifen. Ich habe schon teilweise sachen gefunden bei denen ich dann die links mit einem onklick ereignis ausstatten sollte... ich denke zwar das dies ja machbar ist jedoch weiß ich nicht wie ich es umsetzte das nur wenn ich auf der newsseite bin und dann wechsle die abfrage kommt sonst würde das ja extrem nerven...
Grüße
BlackScript
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93441
Url: https://administrator.de/contentid/93441
Ausgedruckt am: 25.11.2024 um 04:11 Uhr
13 Kommentare
Neuester Kommentar
testbeitrag1337testbeitrag1337testbeitrag1337testbeitrag1337testbeitrag1337testbeitrag1337
Letzteres finde ich wirklich überflüssig !
Da es sich eh um Javascript handelt das die Prüfung durchführen soll:
Bind auf deiner Newsseite ein Script ein, das die Links der Navigation um ein "onclick"-Event erweitert.
Ich poste dir noch mal mein Script, mit dem ich meine Teaser
(<div id="titel_1">Titelzeile</div>
<div id="text_1">Textbox</div>)
dynamisch mache:
Das Array in dem ich die Ids der Teaser übergebe sieht so aus:
Ob du das mit den IDs auch so machst, oder du die Link jedesmal rausfilterst bleibt die überlassen und muss natürlich angepasst werden.
(Soll ja auch nur ein Beispiel sein ;) )
Viel Erfolg
Arano
Da es sich eh um Javascript handelt das die Prüfung durchführen soll:
Bind auf deiner Newsseite ein Script ein, das die Links der Navigation um ein "onclick"-Event erweitert.
Ich poste dir noch mal mein Script, mit dem ich meine Teaser
(<div id="titel_1">Titelzeile</div>
<div id="text_1">Textbox</div>)
dynamisch mache:
/*#############################
###### makeTeaserDynamic ######
#############################*/
/** fuegt den verschiedenen elementen dessen ids in IDS uebergeben werden **/
/** eigenschaften zu damit sie als klickbare, auf- und zuklapbare elemente **/
/** erkennbar sind. ausserdem bekommt die titelzeile eine onclick **/
/** eigenschaft die die funktion toggleTeseer() aufruft **/
function makeTeaserDynamic(IDS){
// macht einen einfachen statischen teaser zu einen dynamischen auf- und zuklappbaren
// mit jedem teaser (title- und textblock ids) mach...
for(var x=0; x<IDS.length; x++){
// ...definiere die auszufuehrende onclick funktion mit ihren benoetigten parametern (teasertitle und -text id)
var fnc = "toggleTeaser('"+IDS[x]+"','"+IDS[x][1]+"');";
// ...ermittel den zu bearbeitenden teasertitle ueber seine id
var teaser = document.getElementById(IDS[x]);
// ...fuege dem teaser title die onclick funktion zu (ich wuerds ja in die with()-schleife setzen, aber das funktioniert nicht !?)
teaser.onclick = new Function (fnc);
// ...fuege dem teasertitle folgende neuen werte zu:
with(teaser){
// onclick = new Function (fnc); // - die onclick funktion
title = "Klicken zum oeffnen oder schliessen"; // - den titeltxt
style.cursor = "pointer"; // - den mauszeiger in eine hand umwandeln (um klickbar zu signalisieren)
style.backgroundImage = "url(./images/arrowdn.gif)"; // - ein hintergrundbild das den status anzeigt (auf / zu)
style.backgroundRepeat = "no-repeat"; // - das hintergrundbild nicht wiederholen
style.backgroundPosition = "2px 50%"; // - das hintergrundbild positionieren
style.paddingLeft = "10px"; // - textabstand links zum rahmen (um den text nicht ueber dem hintergrundbild zu haben)
style.width = "708px"; // - weise dem teasertitle eine neue breite zu (eine abzüglich des padding-wertes)
}
// soll dieser Teaser schon geschlossen werden
if(IDS[x][2]){
// ja, schliesse teaser
toggleTeaser(IDS[x],IDS[x][1]);
}
}
}
var IDS = new Array(
new Array("title_1","text_1",1),
new Array("title_12","text_12",1),
new Array("title_34","text_34",0)
);
(Soll ja auch nur ein Beispiel sein ;) )
Viel Erfolg
Arano
Naja, wie gesagt, es sollte nur ein Beispiel sein !
Du möchtest, das wenn man auf etwas klickt ein weiteres Javascript ausgeführt wird.
Und mein Teaserscript verwend ich um bei dem Klick auf einem Element ein anderes Script ausführen zu lassen.
Probier mal das:
Schönes Wochenende noch
Arano
Du möchtest, das wenn man auf etwas klickt ein weiteres Javascript ausgeführt wird.
Und mein Teaserscript verwend ich um bei dem Klick auf einem Element ein anderes Script ausführen zu lassen.
Probier mal das:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript">
<!--
/*###########################
###### extendNaviLinks ######
###########################*/
/** Erweitert die Links innerhalb des angegebenen Containers mit einem **/
/** onclick-Event das beim ausloesen ein Formular auf Eingaben pruefen **/
/** soll. **/
function extendNaviLinks(linkName){
// der container der die Links enthaelt
var naviLinks = document.getElementsByName(linkName);
// mit jedem link...
for(x=0; x<naviLinks.length; x++){
// ...speichere die zielurl des links in der variable "url"...
var url = naviLinks[x].href;
// ...erweitere den link um ein onclick-Event...
naviLinks[x].onclick = new Function("checkForm('"+url+"');");
// ...ersetze die url des links mit einem void-script.
naviLinks[x].href = "javascript: void(0);";
}
} // ende fnc extendNaviLinks
/*#####################
###### checkForm ######
#####################*/
/** ueberprueft die eingabefelder des formulars auf eingaben, enthalten **/
/** die felder eingeben, gibt sie "false" zurueck, andernfalls leitet es **/
/** auf die urspruengliche url weiter. **/
function checkForm(url){
// das formular dessen eingabefelder geprueft werden sollen
var form = document.getElementsByName('foermchen');
// wenn mindestens ein eingebefeld eingaben enthaelt...
if(form.title.value!='' ||
form.text.value !=''){
// ...gebe warnung aus und...
alert('Das Formular enthaelt ungespeicherte Eingaben!');
// ...beende funktion.
return false;
}
// wenn doch alle eingabefelder leer sind, leite auf zielurl weiter
window.location = url;
} //ende fnc checkForm
-->
</script>
</head>
<body>
<!-- die navigation, enthalten in ALLEN dokumenten -->
<a href="seite_eins.html" name="navilinks">link eins</a><br>
<a href="seite_zwei.html" name="navilinks">link zwei</a><br>
<a href="seite_drei.html" name="navilinks">link drei</a><br>
<a href="seite_vier.html" name="navilinks">link vier</a>
<!-- ein javascript und ein formular, enthalten nur AUF EINER seite -->
<script type="text/javascript">
<!--
extendNaviLinks('navilinks');
-->
</script>
<br><br><br>
<form action="" method="POST" name="foermchen">
<fieldset>
<legend>Formular</legend>
<input type="text" name="title" value=""><br>
<textarea name="text"></textarea><br>
<input type="submit" value="Speichern">
</fieldset>
</form>
</body>
</html>
Schönes Wochenende noch
Arano
Ja, aber das liegt an TinyMCE !
Ich kenne es nicht, habe nur gerade etwas auf deren Website (bei den Beispielen) herumgespielt und weiss nun, das wenn Javascript aktiviert ist die Eingaben nicht in der Textarea getippt werden !
Daher ist deine Textarea auch immer leer.
Wenn du das Prüfen möchtest, dann belege eine Textarea mit einem Text, dieser wird dann auch in TinyMCE angezeigt. Wenn nun etwas dazu getippt wird und anschließende der Inhalt der Textarea per "alert()" ausgegeben wird, entspricht er der Vorbelegung der Textarea ohne die Änderungen !
Welches Feld bzw. Element du nun prüfen musst, konnte ich nicht heraus finden, da musst du jetzt mal selber weiter gucken.
Aber nicht vergessen, Das Javascript das die Prüfung durchführt muss nun auch erweitert werden denn wenn Javascript aktivier wird, muss Element "A" überprüft werden - andernfalls Element "B" !
"A" = Eingabefeld von TinyMCE
"B" = Sandart Textarea
Gruß Arano
Ich kenne es nicht, habe nur gerade etwas auf deren Website (bei den Beispielen) herumgespielt und weiss nun, das wenn Javascript aktiviert ist die Eingaben nicht in der Textarea getippt werden !
Daher ist deine Textarea auch immer leer.
Wenn du das Prüfen möchtest, dann belege eine Textarea mit einem Text, dieser wird dann auch in TinyMCE angezeigt. Wenn nun etwas dazu getippt wird und anschließende der Inhalt der Textarea per "alert()" ausgegeben wird, entspricht er der Vorbelegung der Textarea ohne die Änderungen !
Welches Feld bzw. Element du nun prüfen musst, konnte ich nicht heraus finden, da musst du jetzt mal selber weiter gucken.
Aber nicht vergessen, Das Javascript das die Prüfung durchführt muss nun auch erweitert werden denn wenn Javascript aktivier wird, muss Element "A" überprüft werden - andernfalls Element "B" !
"A" = Eingabefeld von TinyMCE
"B" = Sandart Textarea
Gruß Arano
Joa, das mag schon sein, aber es ist nicht gerade so als das ich Lust hät die Arbeit für andere zu erledigen.
Ich habe da aber trotzdem etwas gefunden was dir weiter helfen sollte: http://tinymce.moxiecode.com/punbb/viewtopic.php?id=12616
~Arano
Ich habe da aber trotzdem etwas gefunden was dir weiter helfen sollte: http://tinymce.moxiecode.com/punbb/viewtopic.php?id=12616
~Arano