0

我有下面的代码,我试图通过单击结果将搜索结果添加到 div。让我知道是否有人可以提供帮助,我看了大约一百次代码,似乎无法弄清楚为什么它不起作用。我尝试将 javascript 放在 div 下方、主体下方和头部,没有骰子。下面是 PHP、javascript 和 HTML。谢谢。

Javascript:

<script type="text/javascript">
      var oButton = document.getElementById('addData');
      var data = document.getElementById('dataInput');
      var display = document.getElementById('display');

      oButton.onclick = function() {
         display.innerHTML += data.value + "<br />";
      }
   </script>

PHP:

echo '<button id="addData">','<input id="dataInput" type="hidden" value="'.$results_row['username'].'" />','<div id="testt">', '<h3>', $results_row['username'],'</h3>','</div>','</button>';

HTML:

<div id ="search_results"></div>
    <p>
                      <div id="display"></div> 

                    </p>

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="search.js"></script>
4

3 回答 3

1

如果您可以在服务器端代码中获得结果,那么下面的代码应该是解决方案。尝试一下。

 <input type="hidden" id="dataInput" value="This is my hidden value">

    <div id="display"></div> 


  <input type="button" name="oButton" id="oButton" onClick="fnc()" value="click">

 <script type="text/javascript">
 function fnc()
 {
   var oButton = document.getElementById("addData");
   var data = document.getElementById("dataInput");
   var display = document.getElementById("display");


     display.innerHTML += data.value + "<br />";
   }

于 2013-02-07T05:29:33.397 回答
0

在 onload 块中设置 javascript

window.onload = function(e){ 
      var oButton = document.getElementById('addData');
      var data = document.getElementById('dataInput');
      var display = document.getElementById('display');

      oButton.onclick = function() {
         data = document.getElementById('dataInput'); // make sure the value is updated
         display.innerHTML += data.value + "<br />";
      }
}

这样你就可以确定你可以为 oButton 分配一个 onclick 函数。并确保更新数据,否则它将一直包含“初始”数据(可能是'')

于 2013-02-07T05:30:13.750 回答
0

这是您所期望的,使用您的.$results_row['username'].值而不是我的硬编码值:

<p><div id="display"></div></p>

<?php echo '<button id="addData" onClick="fnc()">','<input id="dataInput" type="hidden" value="Hardcoded value" />','<div id="testt">', '<h3>', 'Hardcoded value','</h3>','</div>','</button>'; ?>

<script type="text/javascript">
 function fnc()
 {
  var oButton = document.getElementById("addData");
  var data = document.getElementById("dataInput");
  var display = document.getElementById("display");

  display.innerHTML += data.value + "<br />";
 }
</script>
于 2013-02-07T06:15:16.543 回答