【问题标题】:PHP echo within form value表单值内的 PHP 回显
【发布时间】:2012-12-09 01:20:00
【问题描述】:

我正在尝试在 HTML 表单值中回显 div 标记。我无法在不弄乱表单值的情况下显示 div 标记的内容。

<?php echo '<div id="demo"></div>';?>


表单值...

<input type="text" id="term" value="<?php echo '<div id="demo"></div>';?>">


输出的是什么……(表单值里面回显的应该是当前的经纬度)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Geolocation search</title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script id="data" type="text/javascript" src="js/search.js" xmlData="data/data.xml"></script>
</head>
<body onload="getLocation()">
<div id="controller">
  <label>Search Term:
    <input type="text" id="term" value="<?php echo '<div id="demo"></div>';?>">
  </label>
  <label>
    <select name="category" id="category">
      <option value="name">Name</option>
    </select>
  </label>
  <input name="Search" type="button" id="searchButton" value="Search">
</div>
<div id="result">&nbsp;</div>

<?php echo '<div id="demo"></div>';?>

<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML=" " + position.coords.latitude + 
  "<br> " + position.coords.longitude;  
  }
</script>
</body>
</html>

还有其他方法可以从 echo 语句中加载的经度和纬度中回显吗?

【问题讨论】:

  • 我认为你需要重新阅读这个问题并更好地解释它。
  • @WebnetMobile.com 我不明白...这与我的问题有关吗?
  • @OneOfOne 我不知道该怎么解释。
  • 我敢问将
    作为输入值的目的是什么?
  • @Pxlc ...为什么你现在在输入中回显javascript?(它只是文本,与div相同!)想想!不要在输入值中回显任何内容。只需将输入 id 从“term”更改为“demo”。如果您需要更多帮助,请打开一个新问题。

标签: php javascript html xml echo


【解决方案1】:

这是“

改变

<input type="text" id="term" value="<?php echo '<div id="demo"></div>';?>">

<input type="text" id="term" value="<?php echo "<div id='demo'></div>";?>">

【讨论】:

  • 有效!我一定错过了双引号。但有一件事,所有回显的是实际的
    标签而不是当前位置。 boomerang.pxlc.me/_old/index.html?
  • 我不知道那是什么。
  • 如果我的回答对你有帮助,请选择它作为答案。
【解决方案2】:

你在单词 demo 周围加上了双引号,它们关闭了你的值。

试试:

<?php echo "<div id='demo'></div>";?>

【讨论】:

  • 不应该是
    ";?> ?
  • 这会给它一个价值吗?因为现在它只是打印出 div 标签。
  • @Pxlc 也许我误解了那个特定的问题以及你想要做什么。将其作为一个新问题发布可能会更好。
  • 【解决方案3】:
         <label>Search Term:
            <input type="text" id="term" value="<?php echo '<div id="demo"></div>';?>">
         </label>
    

    我从上面的脚本中看到的是,您使用双引号来表示您的属性值.. 然后单引号来处理 php echo 值,然后在 div 内再次使用双引号,这使得 php 代码无效因为它通过您使用的双引号停止读取。您不妨连接您的 php 脚本或使用转义字符使字符串有效“\”

        <label>Search Term:
            <input type="text" id="term" value="<?php echo '<div id=\'demo\'></div>'; ?>" />
        </label>
    
        <?php echo "<div id='demo'></div>"; ?>
    

    我可以问一下......你想从价值中回响什么?真的是div标签吗?

    【讨论】:

    • 谢谢!不是 div 本身。我提供的javascript显示了div“demo”中显示的当前位置的经度和纬度。这就是我想要的价值。
    【解决方案4】:

    这是因为您在上面发送的 HTTP 标头告诉浏览器期望下载文件。他们没有告诉浏览器期待 HTML 内容(默认)。因此,您在回显中发送的内容不会被显示。

    尽管我确信您可以找到任何解决方法,但两者都无法正常工作,但关键是您只需要在调试时使用这些回显,因此您可以在调试时禁用提到的标头调用,一旦设置好,启用再次,以便文件可以下载。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签