Javascript in Variable funktioniert nicht

Pho3nix

Mitglied
Hey
also vllt verwirrt die Überschrift ein wenig, aber ich versuche es mal zu erklähren.
ich will eine externe Datei .php datei in der der HTML code und Javascript code als variable gespeichert wird ( $zeile = sprintf('code'); )
so . Also ich hab dann in einer anderen Datei dann halt $zeile eingefügt.
Soweit klappt auch alles, die Bilder von den buttons werden geladen usw. doch wenn ich jetzt draufklicke, wird der Text nicht in die Textarea kopiert, sondern wird neben dem Bild dargestellt.

So hier der code der funktioniert ( ohne sprintf )
Code:
<script type="text/javascript">
function insert(id)
{
document.getElementById("eingabe").value = document.getElementById("eingabe").value + id;
}

</script>
<a id="[ b][ /b]" onClick="insert(id)" ><img src="design/bb-button/bold.gif" border="0" width="32" height="32"></a>
<a id="[ i][ /i]" onClick="insert(id)" ><img src="design/bb-button/i.gif" border="0" width="32" height="32"></a>
<a id="[ u][ /u]" onClick="insert(id)" ><img src="design/bb-button/unterline.gif" border="0" width="32" height="32"></a>
<a id="[ img][ /img]" onClick="insert(id)" ><img src="design/bb-button/image.gif" border="0" width="32" height="32"></a>
<a id="[ center][ /center]" onClick="insert(id)" ><img src="design/bb-button/center.gif" border="0" width="32" height="32"></a>
<a id="deine-url.de" onClick="insert(id)" ><img src="design/bb-button/url.gif" border="0" width="32" height="32"></a>
<a id="[yt= ]" onClick="insert(id)" ><img src="design/bb-button/youtube.gif" border="0" width="32" height="32"></a><br>
<textarea name="message" cols="53" rows="10" id="eingabe"></textarea><br>

und ja ich will das am liebsten in einer variable haben ;)

mfg
 
Meiner Meinung nach gehört das eher ins Javascript forum...

Was mir am Code zu allererst auffällt:

HTML:
<a id="[ b][ /b]" onClick="insert(id)" ><img src="design/bb-button/bold.gif" border="0" width="32" height="32"></a>
<a id="[ i][ /i]" onClick="insert(id)" ><img src="design/bb-button/i.gif" border="0" width="32" height="32"></a>
<a id="[ u][ /u]" onClick="insert(id)" ><img src="design/bb-button/unterline.gif" border="0" width="32" height="32"></a>
<a id="[ img][ /img]" onClick="insert(id)" ><img src="design/bb-button/image.gif" border="0" width="32" height="32"></a>
<a id="[ center][ /center]" onClick="insert(id)" ><img src="design/bb-button/center.gif" border="0" width="32" height="32"></a>
<a id="deine-url.de" onClick="insert(id)" ><img src="design/bb-button/url.gif" border="0" width="32" height="32"></a>
<a id="[yt= ]" onClick="insert(id)" ><img src="design/bb-button/youtube.gif" border="0" width="32" height="32"></a><br>
<textarea name="message" cols="53" rows="10" id="eingabe"></textarea><br>

Du hast hier nirgendwo die Variable id Definiert. Es sollte eher so aussehen:

HTML:
<a id="[ b][ /b]" onClick='insert("[ b][ /b]")' ><img src="design/bb-button/bold.gif" border="0" width="32" height="32"></a>
<a id="[ i][ /i]" onClick='insert("[ i][ /i]")' ><img src="design/bb-button/i.gif" border="0" width="32" height="32"></a>
<a id="[ u][ /u]" onClick='insert("[ u][ /u]")' ><img src="design/bb-button/unterline.gif" border="0" width="32" height="32"></a>
<a id="[ img][ /img]" onClick='insert("[ img][ /img]")' ><img src="design/bb-button/image.gif" border="0" width="32" height="32"></a>
<a id="[ center][ /center]" onClick="insert("[ center][ /center]")" ><img src="design/bb-button/center.gif" border="0" width="32" height="32"></a>
<a id="deine-url.de" onClick='insert("")' ><img src="design/bb-button/url.gif" border="0" width="32" height="32"></a>
<a id="[ yt= ]" onClick='insert("[ yt=]")' ><img src="design/bb-button/youtube.gif" border="0" width="32" height="32"></a><br>
<textarea name="message" cols="53" rows="10" id="eingabe"></textarea><br>
 
Meiner Meinung nach gehört das eher ins Javascript forum...
Jip. Abgesehen davon, von PHP ist in dem Codeschnipsel weit und breit aber auch nichts zu sehen ;-)

Zu den gewählten ID-Bezeichnern noch ein Wort:
Der Wert eines solchen Attributs muss mit einem Buchstaben A-Z oder a-z beginnen, und darf in der weiteren Zeichenkette ebenfalls nur Buchstaben A-Z und a-z, Ziffern 0-9, Bindestriche "-", Unterstriche "_", Doppelpunkte ":" und Punkte "." enthalten. Nicht erlaubt sind Sonderzeichen, Leerzeichen oder andere Interpunktionszeichen.

mfg Maik
 
Hey.
Ops haben bissle rumgetestet und hab wohl übersehen das ich die id rausgenommen habe ...^^
also da stand sowas wie drinne also bb-codes...

und das mit php will ich halt aufrufen, deshalb wuste ich net genau wohin.
ich will diesen codeschnipsel halt in ein $zeile = sprintf('HIER DER CODE'); und dann auf der indexseite an einem bestimmten Punkt mit echo $zeile aufrufen...

Also schon was mit php.
Und ja ich hab mir auch schon überlegt ob ich das nicht ins java forum haue, dann war ich aber für php, weil halt anscheinend php an dieser Stelle Probleme macht....
 
Zuletzt bearbeitet:
Eine konkrete Antwort auf deine Frage ist möglich, wenn hier dein kompletter Quellcode zur Einsicht vorliegt - also auch der Teil, der bei dir nicht funktioniert.

mfg Maik
 
Okey.
Also insgesammt soll das ein Gästebuchscript werden.
Dieses wird in meiner style datei aufgerufen ... also die Styledatei poste ich hier jetzt nicht extra, weil ich hier weiß das hier auf jedenfall alles funktioniert! :D
Da wird dann halt diese Datei geöffnet:
PHP:
<?php
if(isset($_SESSION)===false)
{echo"404";}
else{
include('design/bb-code-zeile.php');
$IP = $_SERVER['REMOTE_ADDR'];
$DATE = time();
  try {
  include('config/phpmyadmin.php'); //Wichtig f&uuml;r DB. Muss als erstes !
    $sql = "SELECT * FROM chw_forum WHERE IP = '$IP' ORDER BY ID";   
    $kommando = $db->prepare($sql);
    $kommando->execute();
    $kommando->bind_result( $Titel ,	$Text 	,$Date, 	$IP 	,$ID );
    while ($kommando->fetch()) {
      $newdate = sprintf('%s',
         $Date
      );
      }
  } catch (Exception $e) {
    echo 'Fehler: ' . htmlspecialchars($e->getMessage());
  }
$Zeit = $DATE - $newdate;  
  if($Zeit <= 600){
  $input .= sprintf('Bitte warten Sie ein paar Minuten, bis Sie einen neuen Eintrag verfassen f&uuml;rfen!!');
  }
elseif($_POST['titel'] == "" && $_POST['message'] == ""){
$input .= sprintf('<form name="formular" method="post">
       <h2>Titel:</h2>
      <input type="text" name="titel" value="" SIZE="50" maxlength="30"><br><br>
      <h2>Dein Text:</h2>
      %s<br>
      <input type="submit" value="Hinzufügen" name="aendern">
                  </form>',$zeile);
                  }
 elseif($_POST['titel'] != "" && $_POST['message'] != ""){
$TITEL = $_POST['titel'];
$TEXT = $_POST['message'];
	include('config/phpmyadmin.php');
		if(isset($TITEL) && isset($TEXT)){
	if ($db){
  		if(mysqli_error($db)){
			echo 'Fehler: ' . mysqli_error($db);
		}else{
	 			$sql = "
	 				INSERT INTO
	 					chw_forum(Titel,Text,Date,IP)
	 				VALUES('{$TITEL}', '{$TEXT}', '{$DATE}', '{$IP}')
	 			";
				mysqli_query($db, $sql);
				}
			}	
		}
	mysqli_close($db);
                  }
   else{
   $input = sprintf('<h2>Sie haben anscheinend eine Angabe vergessen!</h2>');    
   }       
$output .= $_POST['titel']."<br>".$_POST['message'];
}

und hier kommt jetzt die Datei mit dem include() am anfang, wo die BB-Codes zum einfügen drinne sind:

PHP:
<?php
if(isset($_SESSION)===false)
{echo"404";}
else{
$zeile = sprintf('
<script type="text/javascript">
function insert(id)
{
document.getElementById("eingabe").value = document.getElementById("eingabe").value + id;
}

</script>
<a id="[ b][ /b]" onClick="insert(id)" ><img src="design/bb-button/bold.gif" border="0" width="32" height="32"></a>
<a id="[ i][ /i]" onClick="insert(id)" ><img src="design/bb-button/i.gif" border="0" width="32" height="32"></a>
<a id="[ u][ /u]" onClick="insert(id)" ><img src="design/bb-button/unterline.gif" border="0" width="32" height="32"></a>
<a id="[ img][ /img]" onClick="insert(id)" ><img src="design/bb-button/image.gif" border="0" width="32" height="32"></a>
<a id="[ center][ /center]" onClick="insert(id)" ><img src="design/bb-button/center.gif" border="0" width="32" height="32"></a>
<a id="deine-url.de" onClick="insert(id)" ><img src="design/bb-button/url.gif" border="0" width="32" height="32"></a>
<a id="[ yt= ]" onClick="insert(id)" ><img src="design/bb-button/youtube.gif" border="0" width="32" height="32"></a><br>
<textarea name="message" cols="53" rows="10" id="eingabe"></textarea><br>
');
}

mehr ist das eigentlich nicht.
über die Style datei wird halt einfach dann das alles aufgerufen.
ich hoffe ihr könnt mir nun helfen :) Achja und es ist noch nicht alles fertig, ist noch ca bei 50% (das gb) aber trotzdem möchte ich erstmal das fertig bekommen ;)
Umso einfacher ist dann nachher das andere zu Programmieren ^^
 
Ich glaube du hast meinen Beitrag überlesen...
Außerdem, anstatt das alles so hässlich auszugeben, kannst du die PHP Tags auch einfach schließen:
PHP:
<?php
//hier PHP Code
?>
<span>Jetzt mal Kein PHP</span>
<?php
//und wieder php
?>
 

Neue Beiträge

Zurück