php に次のコードがあります。ハードドライブからファイルを選択すると、facebook にアップロードされます。
<?php
// calculations for the variables used here are above, but not necessary
$graph_url= "https://graph.facebook.com/me/photos?"
. "access_token=" .$access_token;
echo '<html><body>';
echo '<form enctype="multipart/form-data" action="'
.$graph_url .' "method="POST">';
echo 'Please choose a photo: ';
echo '<input name="source" type="file"><br/><br/>';
echo 'Say something about this photo: ';
echo '<input name="message"
type="text" value=""><br/><br/>';
echo '<input type="submit" value="Upload"/><br/>';
echo '</form>';
echo '</body></html>';
?>
そして、同じことを行うJavaScript関数を作成しました:
function PHPPhotoUpload()
{
GraphURL= "https://graph.facebook.com/me/photos?" +"access_token=" + USERTOKEN;
document.getElementById("photoupload").innerHTML += '<p> ' + GraphURL + '</p>';
document.getElementById("photoupload").innerHTML += '<html><body>';
document.getElementById("photoupload").innerHTML += '<form enctype="multipart/form-data" action="' + GraphURL +'" method="POST">';
alert('<form enctype="multipart/form-data" action="' + GraphURL +' "method="POST">');
document.getElementById("photoupload").innerHTML += 'Please choose a photo: ';
document.getElementById("photoupload").innerHTML += '<input name="source" type="file"><br/><br/>';
document.getElementById("photoupload").innerHTML += 'Say something about this photo: ';
document.getElementById("photoupload").innerHTML += '<input name="message" type="text" value=""><br/><br/>';
document.getElementById("photoupload").innerHTML += '<input type="submit" value="Upload"/><br/>';
document.getElementById("photoupload").innerHTML += '</form>';
document.getElementById("photoupload").innerHTML += '</body></html>';
}
しかし、何もアップロードせずにphpファイルのアップロードボタンをクリックすると、エラーが発生します。JavaScriptでそれを行うと、ボタンは単に何もしません。画像を選択したときも同様です。どちらもドキュメントにまったく同じ HTML コードを出力しているように見えますが、なぜこれが機能しないのですか?