Archivlink: javarea.de Forum > JavaScript > Zwei Funktionen mit ein Submit.
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Zwei Funktionen mit ein Submit.

Pages: [1]

geschrieben von tyssen am 09.03.2010 - 21:20
Hallo,
ich möchte 1. den Warenkorb füllen und 2. eine weitere Warenkorb-Box anzeigen.

Versuch:
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 

<?
echo"
<form action=\"\" method=\"post\" onSubmit=\"return MeineFunction(this.neu_po.value,this.option_neu.value,this.menge.value,this.hinwe.value);  loadContent('box_warenkorb.php','korb_
{$list['ad_id']}_{$tr}'); \"> 
"
;
?>



Testseite: http://baushop24.com/betonverblende....index.html
Warenkorb Button klicken.

Skript: http://baushop24.com/java.js

Wie könnte es funken. (Bezahle auch für ein Lösung)

Gruß
Michael Tyssen




geschrieben von Danny am 10.03.2010 - 12:06
Hallo Michael,

ich vermute folgendes Problem bei dir:
Der erste Aufruf lautet

HTML-Quelltext
1: 
return MeineFunction(this.neu_po.value,this.option_neu.value,this.menge.value,this.hinwe.value);


Durch das return wird der onsubmit Event Handler abgebrochen und derRückgabewert von MeineFuntion zurückgegeben (ibei dir immer false). Die Nachfolgende Funktion wird somit auch nicht mehr ausgeführt.

Versuche mal folgendes

HTML-Quelltext
1: 
<form action="" method="post" onsubmit="MeineFunction(this.neu_po.value,this.option_neu.value,this.menge.value,this.hinwe.value);  loadContent('box_warenkorb.php','korb_{$list['ad_id']}_{$tr}'); return false; ">


Gruß Danny

geschrieben von tyssen am 11.03.2010 - 08:41
Danke! Jetzt funkts!

Kommt davon wenn man als phpler Javascript anwenden muss und keine Ahnung hat.

Gruß
Michael Tyssen

geschrieben von tyssen am 11.03.2010 - 14:24
hänge schon wieder:

Warum geht das jetzt nicht mit zwei Boxen:

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 

<?
<form action=\"\" method=\"post\"    onSubmit=\"   MeineFunction(this.neu_po.value,this.option_neu.value,this.menge.value,this.hinwe.value); loadContent('box_warenkorb.php','warenkorb','{$list[ad_id]}$tr'); return false;\"> 


JAVA:

function loadContent(url,div,div2)
{
    
    xmlHttpObject.open('get',url);
    xmlHttpObject.onreadystatechange = handleContent;
    xmlHttpObject.send(null);
    
            function handleContent(){
                            if (xmlHttpObject.readyState == 4)
                               { 
                               document.getElementById("
box_"+div).innerHTML = xmlHttpObject.responseText;
                                    document.getElementById("
box2_"+div2).innerHTML = xmlHttpObject.responseText;
                                                        }
            }
    
    
    return false;
}
?>




Gruß
Michael Tyssen


geschrieben von tyssen am 11.03.2010 - 17:52
So funkt es Komisch??

PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 

<?
function loadContent(url,div,div2)
{
    
    
xmlHttpObject.open('get',url);
    
xmlHttpObject.onreadystatechange handleContent;
    
xmlHttpObject.send(null);
    
            function 
handleContent(){
                            if (
xmlHttpObject.readyState == 4)
                               { 
                                   
                            
                               
document.getElementById("box_"+div).innerHTML xmlHttpObject.responseText;   
                                        
                            if(
div2) {                                
                                      
document.getElementById("box2_"+div2).innerHTML xmlHttpObject.responseText;  
                                     }
                            }
            }
    
    return 
false;
}
?>


geschrieben von Danny am 11.03.2010 - 17:55
hat denn div2 den gewünschten Inhalt innerhalb der Funktion ?

also z.B. mal ein

HTML-Quelltext
1: 
alert(div2);


versuchen.

geschrieben von tyssen am 11.03.2010 - 21:09
Es funkt wie folgt.

Aber nur der sch... IE läd doppelt. WARUM?

PHP
PHP-Quelltext
1: 
2: 
3: 

<?
$bestell_list
.="\n\n<form action=\"\"  method=\"post\" onSubmit=\"MeineFunction(this.neu_po.value,this.option_neu.value,this.menge.value,this.hinwe.value);  loadContent('box_warenkorb.php','warenkorb','{$list[ad_id]}$tr{$tz}'); return false;\">
?>





JAVA
PHP-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 

<?
function loadContent(url,div,div2)
{
    var 
xmlHttpObject false;
    var 
xmlHttpObject2 false;

if (
typeof XMLHttpRequest != 'undefined'
{
    
xmlHttpObject = new XMLHttpRequest();
    
xmlHttpObject2 = new XMLHttpRequest();
}
if (!
xmlHttpObject
{
    try 
    {
        
xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
        
xmlHttpObject2 = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(
e
    {
        try 
        {
            
xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
            
xmlHttpObject2 = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(
e
        {
            
xmlHttpObject null;
            
xmlHttpObject2 null;
        }}}
    
    
    
xmlHttpObject.open('get',url);
    
xmlHttpObject.onreadystatechange handleContent;
    
xmlHttpObject.send(null);
    
     
    function 
handleContent(){
                            if (
xmlHttpObject.readyState == 4)
                               { 
                               
document.getElementById("box_"+div).innerHTML xmlHttpObject.responseText;   
                            }
                            }         
                                                         
    
xmlHttpObject2.open('url',"box_warenkorb.php?pos_war=1");
    
xmlHttpObject2.onreadystatechange handleContent2;
    
xmlHttpObject2.send(null);
        
    function 
handleContent2(){
                            if (
xmlHttpObject2.readyState == 4)
                               { 
                               
document.getElementById("box2_"+div2).innerHTML xmlHttpObject2.responseText;   
                            }
                            }                        
return 
false;     
    
}
?>


geschrieben von Danny am 11.03.2010 - 23:43
Sorry aber verstehe nicht genau was du meinst. Kannst du es bitte etwas genauer erklären ?

Gruß Danny

geschrieben von Gast am 11.03.2010 - 23:53
Ich möchte in einer Funktion zwei Boxen öffnen:

PHP-Quelltext
1: 
2: 
3: 
4: 

<?
1.
xmlHttpObject.open('get',url);
2.xmlHttpObject2.open('ur',"box_warenkorb.php?pos_war=1");
?>



Gruß
Michael Tyssen

geschrieben von Gast am 11.03.2010 - 23:56
SORRY


PHP-Quelltext
1: 
2: 
3: 
4: 

<?
xmlHttpObject
.open('get',"url");
xmlHttpObject2.open('get',"box_warenkorb.php?pos_war=1");
?>


geschrieben von Danny am 12.03.2010 - 00:06
Ich muss zugeben, dass ich den "Eigenbau" Weg für Ajax Requests schon länger nicht mehr gegangen bin. Einfach aus dem Grund, dass Browser sich da unterschiedlich verhalten und man viele "Sonserlösungen" einbauen muss..

Hast du schon einmal über die Verwendung von Javascript Frameworks z.B. jQuery, Prototype, etc.. nachgedacht ?

Das ganze sähe mit jQuery ( http://www.jquery.com ) so aus:

HTML-Quelltext
1: 
2: 
3: 
4: 
function loadContent(url,div,div2) {
    $("#box_"+div).load(url);
    $("#box_"+div2).load("box_warenkorb.php?pos_war=1");
}


Funktioniert in allen Browsern und ist gerade bei größeren Projekten mehr als einfach .. kannst du dir ja mal überlegen.

Nichts desto trotz eine Sache die mir aufgefallen ist:

Bei der Zeile

HTML-Quelltext
1: 
xmlHttpObject2.open('url',"box_warenkorb.php?pos_war=1");


Ist das 'url' nicht fehl am Platz ? Sollte m.E. eigentlich

HTML-Quelltext
1: 
xmlHttpObject2.open('get',"box_warenkorb.php?pos_war=1");


lauten. Vielleicht liegt es ja daran.

Gruß Danny

geschrieben von tyssen am 12.03.2010 - 00:07
Neueste Stand. Das mag Mozilla nicht:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
function loadContent(url,div,div2)
{
	var xmlHttpObject = false;
	var xmlHttpObject2 = false;                
		
	
		if (typeof XMLHttpRequest != 'undefined')
		{		
    	xmlHttpObject = new XMLHttpRequest();
        xmlHttpObject2 = new XMLHttpRequest();
        }

if (!xmlHttpObject) 
	{
    try 
    {
        xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP"); 
        
    }
    catch(e) 
    {
        try 
        {
        xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) 
        {
            xmlHttpObject = null;
        }
		}
		}

	
	xmlHttpObject.open('get',url);
    xmlHttpObject.onreadystatechange = handleContent;
    xmlHttpObject.send(null);
	
	 
    function handleContent()
							{
    				    	if (xmlHttpObject.readyState == 4)
   							{ 
   							document.getElementById("box_"+div).innerHTML = xmlHttpObject.responseText;   
                            }
							}	     
    
        
 if(div2){   
		    

		  
if (!xmlHttpObject2) 
	{
    try 
    {   
    xmlHttpObject2 = new ActiveXObject2("Msxml2.XMLHTTP");
    }
    catch(e) 
    	{	
    	try 
    	{    
    	xmlHttpObject2 = new ActiveXObject2("Microsoft.XMLHTTP");
        }
       catch(e) 
        {
            xmlHttpObject2 = null;
        }
		}
		}
	           
	xmlHttpObject2.open('get',"box_warenkorb.php?pos_war=1");
    xmlHttpObject2.onreadystatechange = handleContent2;
    xmlHttpObject2.send(null);
	    
	function handleContent2()
							{
    				    	if (xmlHttpObject2.readyState == 4)
   							{ 
   							document.getElementById("box2_"+div2).innerHTML = xmlHttpObject2.responseText;   
                            }
							}
							}						
			return false; 				

    
    
}

geschrieben von Danny am 12.03.2010 - 00:28
Also zur Zeit wird die Seite nach dem Klick neugeladen .. der Fehler liegt definitiv in der loadContent aber wo ist eine gute Frage .. auf Anhieb sehe ich keinen Fehler .. versuche das Problem weiter einzugrenzen .. funktioniert es wenn du den zweiten Aja Request rauslässt, funktioniert es wenn du den Ersten weglässt.. kommt er überhaupt in die handleContent2 Funktion .. usw.


Gruß Danny


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.