- 締切済み
これに間違いはありますか?
<? print "<P><CENTER>"; print "<img src=$picaddr onClick=\"obj=document.f1;obj.pic_id.value=this.name;obj.submit();\" name=$col[0]>"; print "<form name=\"f1\" action=\"./hoge.php\" method=\"post\"><input type=\"hidden\" name=\"pic_id\" value=\"\"></form>"; print "</CENTER></P>"; ?> IE6.0で実行 画像をクリックすると、pic_idという名称でcol[0]の値をhoge.phpに渡すというスクリプトですが phpで実行すると正常に動作しません。 エラー内容は ライン:12 文字:17 エラー:'obj.pic_id'はNULLまたはオブジェクトではありません。 コード:0 となっています。 ご教授お願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- gekko_kamen
- ベストアンサー率40% (2/5)
No.1の者ですが、htmlソースを貼り付けてもらえませんか?
- anemone_shrimp
- ベストアンサー率48% (15/31)
javascriptの記述がかなりおかしいですね…
- yambejp
- ベストアンサー率51% (3827/7415)
まず重要なのはPHPのエラーなのかJavascriptの エラーなのかです。 PHPのエラーでないなら、PHPのソースを提示せず HTML化したあとのソースで質問すべきです。 エラーがでているときはまずpostをgetに変えて hiddenをtextに変えてデバッグすることを オススメします。 <img src="" onClick="obj=document.f1;obj.pic_id.value=this.name;obj.submit();" name="test"> <form name="f1" action="hoge.htm" method="get"> <input type="text" name="pic_id" value=""> </form> で、勝手な良そうですが、別のタグにf1という名前を つけているとかそういうボーンヘッドじゃないすか?
- gekko_kamen
- ベストアンサー率40% (2/5)
$col[0]に " の文字が含まれているために nameが有効になっていないのでは? ソースを表示して思った通りのhtmlになっているか 確認してみて下さい。
補足
htmlで表示しても、元ソースと同じように表示されました。 $col[0]に『"』は含まれていませんでした。 nameが有効になっていないとはどういう事でしょうか? 有効にする手段を教えて頂けますか?