Wollte meine Frage jetzt nicht wieder hier in das Forum schicken, da ich nicht der Typ bin der ständig die gleichen Leute nerven will :-), Selbsthilfe ist das beste, aber leider komme ich nicht weiter.
Ist wie gesagt jetzt eher komplett das Thema Javascript, Verschiebung wäre nett.
Ich bin soweit, das der Link in php bearbeitet wird und das Video "groß" abgespielt wird.
Zusätzlich habe ich ein Plugin von JQuery das mir ermöglich den Screenshot des Videos zu machen. Jetzt steh ich vor der Frage wie ich die erzeugte Variable aus der .
js Datei nach php senden kann.
Da ja php auf dem Server verarbeitet wird und
JS nicht, kann ich entweder auf AJAX oder auf ein hidden-field zurückgreifen. Da mein wissen mit AJAX bei 0 liegt, habe ich mich für zweitens entschieden.
Leider sind meine Javascript-Kentnisse auch nur sehr gering so das ich es schwieriger habe Lösungen zu finden.
Ich steh jetzt davor, wie ich die erzeugte Variable aus .
js in die HTML, wo das Formular ist, wieder bekomme und zusätzlich sofort in VALUE von das Hidden-field einfüge.
Hier mal die Codes bzw. Ausschnitte:
Formular:
HTML-Code:
<html>
<script src="jquery.js"></script>
<script src="jyoutube.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// Get youtube video thumbnail on user click
var url = '';
$('#send').click(function(){
// Check for empty input field
if($('#video').val() != ''){
// Get youtube video's thumbnail url
// using jYoutube jQuery plugin
url = $.jYoutube($('#video').val());
//url = $.jYoutube($('#url').val());
// Now append this image to <div id="thumbs">
$('#video_bild').append($('<a href="'+url+'" />'));
//$('#thumbs').append($('<img src="'+url+'" />'));
}
});
});
</script>
<!-- Hier ist Zeichenbegrenzung beendet -->
<!--<textarea name="nachricht" rows="5" cols="40" >
</textarea> -->
<br /><br />
<div id="thumbs"> </div>
<div id="name">
Name:* <br />
<input type="text" name="name" value="" size="20" maxlength="100" />
</div>
<div id="stadt">
Stadt:* <br />
<input type="text" name="stadt" value="" size="20" maxlength="100" />
</div>
<br />
<div id="video2">
Videolink: <br />
<input type="text" name= "video" id="video" value="" size="47" maxlength="" />
<script type="text/javascript">
document.write( '<input type="hidden" id = "video_bild "name="video_bild" value="' + url + '">' );
</script>
<!-- <input type="hidden" name="video_bild" value=""/>-->
</div>
<div id="url">
<p class="nosee">
<label for="url">Bitte hier NICHTS eintragen!</label>
<br />
<input id="url" name="url" size="50" value="" />
</p>
</div>
<br />
<br />
<div id="submit">
<input type="submit" name="send" id="send" value="Teil es mit" />
</div>
</form>
</html>
JS-Datei
Code:
$.extend({
jYoutube: function( url, size ){
if(url === null){ return ""; }
size = (size === null) ? "big" : size;
var vid;
var results;
results = url.match("[\\?&]v=([^&#]*)");
vid = ( results === null ) ? url : results[1];
if(size == "small"){
return "http://img.youtube.com/vi/"+vid+"/2.jpg";
}else {
return "http://img.youtube.com/vi/"+vid+"/2.jpg";
}
//musste mit den gleichen Links das Skript etwas austricksen, da sonst nur große Bilder angezeigt wurden, wird noch bearbeitet
}
});
Es soll dann an die php (habe ich jetzt nicht extra mit aufgeschrieben) per POST übergeben werden.
PHP
PHP-Code:
<php?
$video_bild = $_POST['video_bild'];
echo $video_bild;
?>
Also der zweite Code (
JS) verarbeitet nach submit den LINK von Youtube und erstellt ein Screenshot von Video das wird dann wieder in HTML übergeben, eigentlich gibt das Plugin dann sofort das Bild aus, dies will ich aber nicht, da das Bild erst in der Datenbank gespeichert werden soll, also muss dann die Variable url an den PHP-Code gegeben werden wo auch schon der Rest bearbeitet wird.
Habe schon einige Varianten ausprobiert, entweder es hat soweit funktioniert, nur es wurde kein Inhalt übergeben oder wie bei dem aktuellen Code kommt sofort eine Fehlermeldung das Variable 'URL' in HTML-Code nicht definiert ist. Logisch, da
JS-Datei das Ergebnis noch nicht geschickt hat. Und wenn ich das Formular trotz Fehlermeldung ausfülle dann kommt das in PHP-Datei $video_bild nicht definiert ist.
Hat jemand eine Idee bzw. sieht den Fehler oder kann mir helfen?
Viele Grüße Thomas