Fenster.Lage funktioniert nicht in javascript
Diesen code unter aus irgendeinem Grund nicht funktionieren, wenn Sie versuchen, um umzuleiten. Ich habe versucht, mehrere andere Möglichkeiten, wie die Fenster.Lage.href und mehr. Das einzige, was funktioniert ist window.open ("")
aber dies öffnet eine Seite in einem neuen Fenster, wenn ich es brauche um auf die gleichen. Wenn ich window.open("", "_self")
dann klappt es wieder nicht. Wenn ich ersetzen Sie den window.location
mit einem alert
es funktioniert gut, so dass ich denke, der gesamte code ist normal, nur etwas verhindern, dass es Umleitung auf die gleiche Seite. Dieses Problem ist auch auf meinem Windows-Chrome und Mac Firefox.
<html>
<head>
<script type="text/javascript">
function checkAnswers(){
getElementById("myQuiz");
if(myQuiz.elements[1].checked){
window.location = "www.google.com";
}else{
alert("Failed");
}
};
</script>
</head>
<body>
<img src="Castle.JPG" />
<form id="myQuiz" onsubmit="checkAnswers()" action="">
<p>Name the country this castle is located in?
<br/>
<input type="radio" name="radiobutton" value="A"/>
<label>England</label>
<input type="radio" name="radiobutton" value="B"/>
<label>Ireland</label>
<input type="radio" name="radiobutton" value="C"/>
<label>Spain</label>
<input type="radio" name="radiobutton" value="D"/>
<label>France</label>
<input type="submit" name="submit" value="Submit"/>
<input type="reset" name="reset" value="Reset"/>
</p>
</form>
</body>
</html>
getElementById( "myQuiz" );
sollte var myQuiz = document.getElementById("myQuiz");
Und bitte nicht setzen Sie einen Schrägstrich in
<input />
. Es ist falsch.w3.org/TR/html4/interact/forms.html#h-17.4
Sie verweisen HTML4, die abgelöst von HTML5, das ist rückwärts kompatibel mit HTML4, welche Art von macht HTML4 irgendwie überflüssig meiner Meinung nach, außer in einigen ziemlich extremen Umständen. Also, wenn Sie einen HTML5-doctype (was Sie sollten), dann entweder die Methode als gültig betrachtet wird. Hier ist ein praktischer link: stackoverflow.com/questions/4893193/.... Meine Webseiten auch validieren mit dem self-closing-tag.
Cool 🙂 Sorry, wählerisch zu sein. Der Hauptgrund, warum ich grub in diesem so hart, wie ich getan habe ist zu überprüfen, meine eigenen Fakten 🙂 Danke für die Bekräftigung 🙂
InformationsquelleAutor George Kashouh | 2012-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
ändern, js:
und ändern:
zu
Danke! Hinzufügen der Rückkehr ist definitiv das, was es behoben. Ich bin natürlich sehr mit javascript, (wie vor ein paar Tagen neue), so können Sie mir sagen, warum dies funktioniert? Nochmals vielen Dank.
Sie sind zur Rückgabe, wird der Wert der Funktion
checkAnswers
zurückgegeben hat, zuonsubmit
.Zu erweitern, wenn Sie false zurückgeben, in einem onsubmit, das Formular nicht Absenden. In anderen Worten, nur die Seite umleitet, wenn das element aktiviert ist.
InformationsquelleAutor artwl
Wenn Sie den Speicherort ändern, müssen Sie geben Sie eine absolute URL:
Oder:
Oder:
Den letzten ein gehen, um http oder https, je nach der aktuellen Regelung. Danke @Derek
//www.google.com
.InformationsquelleAutor Ja͢ck
Wenn Sie dies ausführen:
Läufst du dieses relativ zum aktuellen requestURI. Also, wenn Sie sind auf der http://example.com Seite, dann bist du versucht, einen redirect zu:
Stattdessen, erinnern Sie sich an das Protokoll:
Denken Sie daran, Fenster.Lage ist nicht Ihre Adresse bar, entworfen, um den Umgang mit technisch nicht versierten Menschen die Eingabe einer web-Adresse in eine Adresse bar. Mit Fenster.Ort sind, müssen Sie explizit http://.
InformationsquelleAutor jmort253
Ihre url in
window.location
lokal ist; Sie müssen hinzufügen, in derhttp://
Teil der url.InformationsquelleAutor Daedalus
Haben Sie vergessen, weisen Sie myQuiz variable
werden Sie brauchen, um hinzuzufügen
http://
am Anfang Ihrer url. Weil, sonst ist es gemeint als relative url.InformationsquelleAutor Larry Cinnabar
2018
multibrowser: safari, chrome, firefox:
nur diese Arbeit:
anderen Optionen, die versucht, zuweisen von url-Fenster.Lage oder Fenster.Lage fehl
InformationsquelleAutor stackdave
dies ist nur code-Zeilen ohne Erläuterung
InformationsquelleAutor becky
sollte das problem mit dem Aufruf einer Methode, die ohne das entsprechende Objekt.. ändern Sie die javascript so unten... getElementById("myQuiz") ist eine Methode der HTML-Dokument-Objekt.also, wenn in javascript, um diese Methode zu verwenden, müssen Sie es anbringen, um Objekte, mit denen Ihr zu handeln. Denken Sie daran getElementById() ist nicht eine javascript-Methode. also, wenn Sie Dokument.getElementById("myQuiz") Sie sind tellin der javascript-Code gehen, das document-Objekt(das ich.e HTML) ausführen der Methode getElementById("myQuiz"). Diese Methode gibt, um JS ein element. Von DOM, alle HTML-Elemente sind Objekte, die.. Also, wir haben eine Obj_Form das ist das element-Objekt aus dem HTML..
InformationsquelleAutor FLoat