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 回答