php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.10.2005, 13:49  
Gast
 
Beiträge: n/a
Standard integration/einbetten von JavaScript in PHP macht probleme

Hi,

folgendes Problem:
--
Ich habe eine php seite, mit grossem Form.
Innerhalb dessen kann der USer um ein bestimmtes Feld zu füllen über einen Button ein Window aufrufen, sich dort weiternavigieren um schliessendlich mittels Javascript dne Wert dann in das Textfeld des ausgangsforms zu übertragen.

der katuelle Code funktioniert auch,
NUR muss ich jetzt das ganze direkt in PHP einbetten.

a) der funktionierende Code:
---
PHP-Code:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function updateParent() 
{
    opener.document.add_art_form.standort.value = document.childForm.cf1.value;
    self.close();
    return false;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="childForm" onSubmit="return updateParent();">

<INPUT NAME="cf1" TYPE="TEXT" VALUE="">

<INPUT TYPE="SUBMIT" VALUE="OK">
</FORM></BODY></HTML>
</html>

<?php

// final.php
// just show the selected location info
//
//
//
// Welche Location Daten wurden über den Link uebergeben ?
$location $_GET['identifier'];
//echo $location."
";
//coords
$x1 = $_GET['x1'];
$y1 = $_GET['y1'];
$x2 = $_GET['x2'];
$y2 = $_GET['y2'];
//
//
//
// DB cfg laden
include 'inc/config.php';
// DB Connect
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
  mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
//
// Alle Daten im Bezug auf die uebergebenene Variablen
$sql = "    
SELECT     standort_idstandort_namestandort_x1standort_y1standort_x2standort_y2
                FROM        KIS_standort
                WHERE        standort_x1 
'$x1'                    AND 
                            
standort_y1 '$y1'                    AND
                            
standort_x2 '$x2'                    AND
                            
standort_y2 '$y2'                    AND
                            
standort_name LIKE '%$location%'";                
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_assoc($result);
//echo "
Standort".$row['standort_name'].".$row['standort_id'].
";
//
// 
// [b]Das ist der Wert der eigentlich im HTML TEXTFELD zurückgegeben werden soll[/b]
echo "
ID f&uuml;r den Insert".$row['standort_id']."
";
?>

soweit so gut.
nun habe ich das Problem,
das der wert aus dem php Code eigentlich direkt in dem in HTML angelegten Textfeld erscheinen soll.

ich habe es so probiert:


b) nicht funkt. Code
PHP-Code:
<?php

    
// test ob JS direkt in PHP einsetzbar
    
    
echo "<html>";
    echo 
"<head>";
    echo 
"<SCRIPT LANGUAGE='JavaScript'>";
    function 
updateParent() 
    {
        echo 
"opener.document.add_art_form.standort.value = document.childForm.cf1.value;";
        echo 
"self.close();";
        echo 
"return false;";
    }
    echo 
"</SCRIPT>";
    echo 
"</head>";
    
    




    
// final.php
    // just show the selected location info
    //
    //
    //
    // Welche Location Daten wurden über den Link uebergeben ?
    
$location $_GET['identifier'];
    
//echo $location."
";
    //coords
    $x1 = $_GET['x1'];
    $y1 = $_GET['y1'];
    $x2 = $_GET['x2'];
    $y2 = $_GET['y2'];
    //
    //
    //
    // DB cfg laden
    include 'inc/config.php';
    // DB Connect
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
   mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
    //
    // Alle Daten im Bezug auf die uebergebenene Variablen
    $sql = "    
SELECT     standort_idstandort_namestandort_x1standort_y1standort_x2standort_y2
                FROM        KIS_standort
                WHERE        standort_x1 
'$x1'                    AND 
                            
standort_y1 '$y1'                    AND
                            
standort_x2 '$x2'                    AND
                            
standort_y2 '$y2'                    AND
                            
standort_name LIKE '%$location%'";                
    $result = mysql_query($sql) or die(mysql_error());
    $row = mysql_fetch_assoc($result);
    //echo "
Standort".$row['standort_name'].".$row['standort_id'].
";
    echo "
ID f&uuml;r den Insert".$row['standort_id']."
";
    
    
    echo "
<FORM NAME='childForm' onSubmit='return updateParent();'>";
    echo "
<INPUT NAME='cf1' TYPE='TEXT' VALUE='".$row['standort_id']."'>";
    echo "
<INPUT TYPE='SUBMIT' VALUE='TEST'>";
    echo "
</FORM>";

    
?>
Problem:
der wert wird nicht zurückgeliefert.
Was mache ich hier falsch ?


würde mich freuen wenn mir jmd helfen kann.

schöne grüsse
fidel_[/b]
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.10.2005, 14:07  
Gast
 
Beiträge: n/a
Standard

Zitat:
Was mache ich hier falsch ?
nichts

/edit: mal vorrausgesetzt dein $row['standort_id'] enthält einen wert
 
Alt 12.10.2005, 14:38  
Gast
 
Beiträge: n/a
Standard

er enthält einen Wert, wie man alleine an diesem Testouput:

echo "ID f&uuml;r den Insert: ".$row['standort_id']."
";


sehen sollte

Naja, die einbettung funktioniert so leider nicht.
d.h.
ich erhalte keinen Fehleroutput, o.ä,
aber in meinem Textfeld erscheint halt auch nicht der Inhalt der Variable


das merkwürdige dabei:
--
- Der Inhalt der Variable steht in dme Textfeld im Window
-Drücke ich den Button "TEST" passiert folgendes:
-Der Inhalt des Textfeldes innerhalb des Windows, wird auf 1 gesetzt
- Im ausgangs-Form kommt nix an

sonst jmd ?


gruss
fidel_
 
Alt 12.10.2005, 14:44  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Wenn du schon das JS mit "echo" generierst, dann doch bitte komplett :

PHP-Code:
<?php

 
echo "<html>";
 echo 
"<head>";
 echo 
"<SCRIPT LANGUAGE='JavaScript'>";
 echo 
"function updateParent() ";
 echo 
"{";
 echo 
"opener.document.add_art_form.standort.value = document.childForm.cf1.value;";
       echo 
"self.close();";
       echo 
"return false;";
 echo 
"}";
   echo 
"</SCRIPT>";
   echo 
"</head>";
    
?>
Warum eigentlich mit "echo" ? Ging doch simpler ohne ...

edit: so, wie du's "ganz oben" bereits getan hast ...?
XLB ist offline  
Alt 12.10.2005, 15:28  
Gast
 
Beiträge: n/a
Standard

jo, wenn dann komplett war hier auch der Grund.

danke geht


warum mit echo ?
ganz einfach, ich fins den code uebersichtlicher wenn nicht alle 3 min zwischen php/html etc geswitched wird....sprich nur stil sache.

gruss
fidel_
 
Alt 12.10.2005, 16:02  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

Nur Stil-Sache ?

Wenn du dem Parser unnötigen Code zum futtern gibst, wird's "irgendwann" eine Performance-Sache.

Würde dir vorschlagen, die Verwendung von " und ' zu überdenken (und ein paar andere Kleinigkeiten). Ein Beispiel aus deinem Code:

Code:
echo "<FORM NAME='childForm' onSubmit='return updateParent();'>";
Um "validen" Code zu erhalten :

- bei validem XHTML gibt es für Formulare kein name-Attribut mehr, nur noch eine id
- HTML-Tags und Attribute sollten "klein" geschrieben werden
- Attributwerte und JS-Code in Eventhandlern sollten von " umfasst werden, nicht von '
- Daher sollte man bei einer Ausgabe mit echo ' verwenden, um nicht durcheinander zu kommen (sofern echo halt überhaupt von Nöten ist). Und um den Parser zu veranlassen die Ausgabe eben NICHT zu parsen.

Code:
  echo '<form id="childForm" onSubmit="return updateParent();">';
XLB ist offline  
Alt 17.10.2005, 15:28  
Gast
 
Beiträge: n/a
Standard

ich muss jetzt nochmal nachhaken...

d.h. wenn ich schon mein HTML in PHP einbette und mit echo ausgeben
dann bitte so:

PHP-Code:
echo "<td></td>"
anstatt so :

PHP-Code:
echo '<td></td>'
hat jmd bzgl parser ein paar gute links parat ?
ich hab mir das einfach so angewöhnt und einfach gedacht die notation wäre ok so.


thx für den hinweis
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
http user mit Javascript abfrage tennessee HTML, Usability und Barrierefreiheit 3 31.10.2006 13:18
JavaScript Baum bring Probleme FireFIghter HTML, Usability und Barrierefreiheit 1 06.10.2006 10:59
Suckerfish Dropdown Probleme dethlef14 HTML, Usability und Barrierefreiheit 0 24.09.2006 21:56
problem mit javascript und smarty snatch-ic HTML, Usability und Barrierefreiheit 2 08.06.2006 22:11
PHP + Javascript + MYSQL socke PHP Tipps 2006 4 02.04.2006 22:02
javascript probleme bei Ajax anwendung Sclot HTML, Usability und Barrierefreiheit 11 22.03.2006 13:06
Ist JavaScript OOP sinnvoll? HStev HTML, Usability und Barrierefreiheit 2 26.01.2006 12:11
Variable wird geändert bei Übergabe an Javascript PHP Tipps 2007 4 17.12.2005 16:53
Probleme mit Checkbox (JavaScript) HTML, Usability und Barrierefreiheit 1 26.07.2005 12:52
Javascript ON/OFF Connar PHP Tipps 2005 3 03.04.2005 09:47
Javascript über Javascript erstellen HTML, Usability und Barrierefreiheit 2 19.11.2004 18:02
JavaScript in JavaScript geschriebene Html-Datei einbinden. woods HTML, Usability und Barrierefreiheit 6 06.09.2004 18:33
Javascript HTML, Usability und Barrierefreiheit 5 31.08.2004 18:30
php + Javascript, Variablenübergabe PHP Tipps 2004 14 28.07.2004 15:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript in php einbetten, javascript in php integrieren, php in javascript einbetten, javascript einbetten, javascript php einbetten, php javascript einbetten, java php integration, php in javascript integrieren, php code in javascript einbetten, javascript in php einbinden, http://www.php.de/php-tipps-2005-2/32321-integration-einbetten-von-javascript-php-macht-probleme.html, javascript php integrieren, php in js einbetten, javascript integrieren php, javascript php integration, smarty javascript einbinden, javascript code in php einbetten, java in php einbetten, js in php einbinden, java in php einbinden

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.