0

何も出力されていないため、以下のコードのエコーでテキスト入力を表示する正しい方法を知りたい:

<script language="javascript" type="text/javascript">
  window.top.stopVideoUpload(
    <?php echo $result; ?>,
    '<?php echo "<input name='vidid' type='text' value='".$id."'/>" . $_FILES['fileVideo']['name']; ?>'
  );
</script>

私が受け取っているエラーは次のとおりです。syntaxError: missing ) after argument list.

4

2 に答える 2

2

引用符をエスケープする

<script language="javascript" type="text/javascript">
  window.top.stopVideoUpload(
    <?php echo $result; ?>,
    '<?php echo "<input name=\'vidid\' type=\'text\' value=\'".$id."\'/>" . $_FILES['fileVideo']['name']; ?>'
  );
</script>

$result の内容に応じて - 数値にするか、引用符で囲む必要があります $_FILES に何が含まれているかを知る必要もありますので、現在持っているもののレンダリングされたビューソースを投稿してください

エスケープすると、次のようになります

  window.top.stopVideoUpload(
    10,
    '<input name=\'vidid\' type=\'text\' value=\'someId'/> bla'
  );

こちらの方が読みやすい

 '<?php echo '<input name="vidid" type="text" value="'.$id.'" />' . $_FILES['fileVideo']['name']; ?>'

を与える

  window.top.stopVideoUpload(
    10,
    '<input name="vidid" type="text" value="someId"/> bla'
  );
于 2013-01-19T21:46:25.193 に答える
0

常に出力をエスケープします。

window.top.stopVideoUpload(
    <?php echo json_encode($result); ?>,
    <?php echo json_encode("<input name='vidid' type='text' value='".$id."'/>" . $_FILES['fileVideo']['name']); ?>
);

この場合、JavaScript で使用する必要がある値を出力しているため、json_encode()有効な JavaScript 値を記述するために使用します。

于 2013-01-19T21:50:55.053 に答える