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

Funktion wird in Chrome ausgeführt, Firefox und Safari streichen

EvilBen

New member
Hey Leute,

ich habe wieder einmal eine Frage...

Also der Klassiker: Formular, Text Eingabefeld und nen Button der das ganze absendet. Zwei Hidden - Felder verstecken den Rest der nötigen Variablen. Das ganze wird dann via PHP Script in die DB geschrieben und fertig. Das Problem ist nun, nur Chrome macht das exakt so, wie es soll, Firefox, Safari und Co. nicht !? Warum?

hier der Code:

//Das Formular:
Code:
<form action="" enctype="multipart/form-data" method="post">
	<button onClick="return sendmsg()" type="submit" class="btn btn-primary" name="sendpm"><i class="fa fa-envelope"></i> Senden
                            </button>
                            
                        

                     
                        <input type="text" id="pm" name="pm" class="form-control share-text" placeholder="Nachricht schreiben ..." />
                        <input type="hidden" id="hidden" name="hidden" value="<?php echo $_GET['id']; ?>">
                        <input type="hidden" id="ip" name="ip" value="<?php echo $ip; ?>">
                        </form>

//JS Funktion
Code:
function sendmsg() {   
//alert("Test "+document.getElementById("hidden").value);
$.get("add_msg.php?id="+document.getElementById("hidden").value+"&abs="+document.getElementById("ip").value+"&pm="+document.getElementById("pm").value ); 


 }

habe das jetzt schon hunderte male so gemacht mit anderen Formularen, und immer hat es geklappt. Wieso nur hier nicht ?

Danke im Voraus
 
Das Problem ist nun, nur Chrome macht das exakt so, wie es soll, Firefox, Safari und Co. nicht !?
und was machen FF/Safari nicht? hast du in den Dev Tools geschaut, ob der AJAX Request korrekt ist? Fehlerkonsole? liegt es überhaupt am JavaScript?

PS. du hast ein Formularelement und du hast jQuery, da kannst du dir die Werte für den Request wesentlich einfacher besorgen.
 
Code:
$.get("add_msg.php?id="+document.getElementById("hidden").value+"&abs="+document.getElementById("ip").value+"&pm="+document.getElementById("pm").value );

das machen die browser nicht. und Fehler gibt es keine, das ist ja das merkwürdige
 
Hey, ich habe noch ein kleines Problemchen, bei einer anderen Funktion:

Code:
function Weiter(id) { document.location.href = "index.php?section=messages&id="+id; } 
function sendmsg() {

$.get("add_msg.php?id="+document.getElementById("id").value+"&abs="+document.getElementById("abs").value+"&pm="+document.getElementById("pm").value);

	document.getElementById("pm").value='';
	window.setTimeout(Weiter(document.getElementById("id").value), 0);
}

das ganze funktioniert wunderbar im Chrome. Firefox und Safari streiken hierbei wieder. Warum aber ? Hoffe es hat noch jemand so schnell ne Idee
 
kriege ich die Weiterleitung denn dann irgendwie eleganter hin? eigentlich muss ja auch nur die aktuelle Seite refreshed werden
 
Seite neu laden: window.location.reload(true)

und auch bei window.location.href braucht man da kein setTimeout() drumrum.
 
Zurück
Oben