0

結果をクリックして検索結果をdivに追加しようとする以下のコードがあります。誰かが助けてくれるかどうか教えてください。私はコードを約100回見て、なぜそれが機能しないのか理解できないようです. 私はJavaScriptをdivの下、bodyの下、頭の中に配置しようとしましたが、サイコロはありません。以下は、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 />";
      }
}

このようにして、onclick 関数を oButton に確実に割り当てることができます。また、必ずデータを更新してください。そうしないと、常に「初期」データが含まれてしまうためです (これはおそらく '' です)。

于 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 に答える