HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ? |
 |
|

18-10-2007, 16:56
|
alex2iceman
Registrierter Benutzer
|
|
Registriert seit: May 2007
Beiträge: 120
|
|
Ach so und die Eingabe bezieht sich immer auf das erste Element. Also wenn ich auf den 5ten Element klicke und 3 eingebe, dann wird der Link beim ersten Element erzeugt und nicht beim 5ten.
Mir fehlt noch irgendwas, bitte um Hilfe!
Edit: Das der Link auf dem ersten Element gesetzt wird, ist gar nicht schlimm. Denn es ist immer der richtige Link, er braucht jetzt nur noch geöffnet zu werden und schon bin ich fertig!
Wie kann ich nach der Eingabe dem Link folgen?
Geändert von alex2iceman (18-10-2007 um 17:17 Uhr)
|

18-10-2007, 17:22
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Zitat:
Danach verbleibe ich aber auf der selben Seite, und wenn ich auf das gleiche Element klicke, komme ich dann auf die verlinkte Seite.
Aber ich muss doch sofort auf die andere Seite!
|
Wieso hast du die Schleife beim prompt wieder rausgenommen? Wenn ich also sdjhfsdjfhsdlkfjsadf Stücke will dann hängst du das im Ernst ungeprüft an den Link 
Wenn du sofort auf die Seite willst, wieso schreibst du dann einen Link raus? Das benötigt immer eine Useraktion. Du könntest z.B. statt des Links einen meta refresh schreiben, der den User dann auf die Zielseite leitet
|

18-10-2007, 17:27
|
alex2iceman
Registrierter Benutzer
|
|
Registriert seit: May 2007
Beiträge: 120
|
|
Das mit der Prüfung ist erstmal irrelevant, ich kann das auch auf der nächsten seite prüfen bzw die Schleife hab ich schon wieder aufgenommen.
Aber ich glaube ich habe die Lösung bereits gefunden...man muss mich manchmal etwas allein lassen...
PHP-Code:
echo "<script type=\"text/javascript\">
function disp_prompt(adresse){
var anzahl;
anzahl = prompt('Wie viele Stücke willst du kaufen?','1');
if (anzahl>0){
document.getElementById('link').href = adresse+anzahl;
top.location.href = adresse+anzahl;
}
}
</script><td><div align=center>
<a id=\"link\" href=\"javascript:disp_prompt('usershop2.pro.php?game=1&user=".$user."&id=".$array[id]."&price=".$array[price]."&anzahl=')\">
<img src=".$base_url."/images/user_images/opg_".$game."/items/item_".$array[item_id].".gif width=\"50\"></A>
Verbesserungswünsche sind willkommen!
Geändert von alex2iceman (18-10-2007 um 17:45 Uhr)
|

18-10-2007, 17:34
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Brich mal deine Code um, damit man nicht zur Seite scrollen muss!
Zitat:
Verbesserungswünsche sind willkommen!
|
Entscheide dich ob du einen Link schreiben willst oder eine Weiterleitung mit JS machst. Beides zusammen ist sinnlos.
Ich würde trotzdem schon bei der Erstellung der Var anzahl prüfen, dass es sich um eine gültige Zahl handelt (okay > 0 könnte ausreichend sein)
Bitte platziere JS Code auch dort wo er hingehört. Der gehört nicht in den href eines Links sondern in ein Event wie z.B. onclick
|

18-10-2007, 17:58
|
alex2iceman
Registrierter Benutzer
|
|
Registriert seit: May 2007
Beiträge: 120
|
|
Den JS habe ich so platziert, weil ich das in irgendeiner anderen Anleitung rausgelesen habe.
http://de.selfhtml.org/javascript/ob..._element_by_id
Ich verstehe auch nicht, wie die Weiterleitung nun umgesetzt werden soll, da meine nicht richtig funktioniert.
Beim Klick versucht der Browser die Seite zu laden. Nach einer Ewigkeit kommt ein TimeOut mit dem absolut korrektem Link in der Adressleiste. Außerdem kann ich die Seite danach überhaupt nicht mehr benutzen, ich muss den Browser neu starten. Wo dran liegt das?
Ich habe das Script auch schon ein wenig überarbeitet, aber alles bringt den gleichen Effekt:
PHP-Code:
echo "<script type=\"text/javascript\">
function disp_prompt(adresse){
var anzahl;
anzahl = prompt('Wie viele Stücke willst du kaufen?','1');
if (anzahl>0){
document.getElementById('link').href = adresse+anzahl;
window.location.href = adresse+anzahl;
}
}
</script><td><div align=center>
<img src=".$base_url."/images/user_images/opg_".$game."/items/item_".$array[item_id].".gif width=\"50\"
onclick=\"javascript:disp_prompt('usershop2.pro.php?game=1&user=".$user."&id=".$array[id]."&price=".$array[price]."&anzahl=')\" id=\"link\" >
|

18-10-2007, 18:10
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Seit wann hat ein img-Tag einen onclick-Event? Das musst du bei einem LINK machen. Ausserdem ist es besser onclick="meineFunktion();return false;" zu schreiben. Onclick ist ein JS Event, also wäre die Erwähnung von javascript ein weisser Schimmel.
Ich habe deinen Code mal schnell bei mir eingebaut und ich komme sehr wohl auf die korrekte Seite nachdem ich den Wert im prompt eingegeben habe
Code:
<html>
<head>
<script type="text/javascript">
<!--
function disp_prompt(adresse){
var anzahl;
anzahl = prompt('Wie viele Stücke willst du kaufen?','1');
if (anzahl>0){
document.getElementById('link').href = adresse+anzahl;
window.location.href = adresse+anzahl;
}
}
-->
</script>
</head>
<body>
<a href="http://www.google.ch" id="link"
onclick="disp_prompt('http://meineDomain.de/index.html?anzahl=');return false;">Link</a>
</body>
</html>
Gruss
tobi
|

18-10-2007, 18:13
|
alex2iceman
Registrierter Benutzer
|
|
Registriert seit: May 2007
Beiträge: 120
|
|
Dass sich die Seite bei mir aufgehangen hat, lag an einer endlos-Schleife in der Folgeseite, also hat der Link funktioniert. Der Code mit dem IMG hat auch funktioniert, aber ich baue es lieber wie du es hast.
Danke, ich probier das mal
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|