-4


phpで簡単なjavascript関数を呼び出そうとしました。その関数showResult()を呼び出すことはできません。このコードの何が問題になっているのかわかりません。確認してもらえますか?私はあなたの助けに感謝します。
http://www.mediafire.com/?hycdzegki1n79lg
に関して、

更新:はい。私はそれが修復的な質問であることを知っていました(また、1つは現在ネガティブで閉じられています)が、問題は異なると思います。実は、これにこだわっているだけで、これに似たものを書くことができます。投稿後は散らかってしまうので、全体や必要な機能のためにここにうまく投稿することはできません。ご迷惑をおかけして申し訳ございません。どのリンクをアップロードしますか?

<?php
echo '<select name="companyNameList" onchange="showResult()" >';
for ($row = 0; $row < 2; $row++)
{
echo '<option value="'.$placement[$row]["company_name"].'">'.$placement[$row]    ["company_name"].'</option>';
}
echo '</select>';
?>
4

2 に答える 2

0

いくつかの問題があります。

HTML構造とフォームタグは適切ではありません。本文に含める必要があります

<html>
   <head>
      <script>
      </script>
   </head>
   <body>
     <form>
     </form>
   </body>
</html>

これはあなたが従うべき構造です

onChange関数の記述方法は正しいですが、私の意見では、showResultJS関数に問題があります。

使用した関数で

<script type="text/javascript">
function showResult()
{
    var companyName = companyNameList.value;
    var insertvalue = d.getElementById('lblCompanyName');
    insertvalue.innerHTML = companyName
    //    document.getElementById("lblCompanyName").value=document.getElementById("companyNameList").value;
        <?php echo "hi";?>

}
</script>

JSでは「hi」のみが出力されることに注意してください<?PHP echo 'hi'; ?>。これは何の意味もなく、JSエラーを引き起こす可能性があります。あなたはそれをこのように使うべきです

<script type="text/javascript">
function showResult()
{
    var companyName = companyNameList.value;
    var insertvalue = d.getElementById('lblCompanyName');
    insertvalue.innerHTML = companyName
    //    document.getElementById("lblCompanyName").value=document.getElementById("companyNameList").value;
        <?php echo "alert('hi');";?>

}
</script>

これらがあなたの問題を解決することを願っています

編集

ドロップダウン選択にIDを指定しますcompanyNameList

<script type="text/javascript">
    function showResult()
    {

        <?php echo "alert('hi');";?>
        var companyName = document.getElementById("companyNameList");
        var companyNameValue = companyName.options[companyName.selectedIndex].value;
        var insertvalue = document.getElementById('lblCompanyName');

        insertvalue.innerHTML = companyNameValue;
    }
</script>

firebugスクリプトのエラーをキャッチするには、Firefoxにインストールしてください

完全なコードを編集する

このコードを確認してください

<?php
$link = mysqli_connect('localhost', 'root', '','xerox_test');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
$statement = "SELECT * from form_results";
$result = mysqli_query($link,$statement);
$placement= array(); 
$i=0;
while($row = mysqli_fetch_array($result))
{    
    $rowktl[$i] = $row;
    $placement[$i]['company_name'] = $rowktl[$i]['company_name'];
    $i++;
   }
?>
<html>

<head>
<script type="text/javascript">
    function showResult()
    {

        <?php echo "alert('hi');";?>
        var companyName = document.getElementById("companyNameList");
        var companyNameValue = companyName.options[companyName.selectedIndex].value;
        var insertvalue = document.getElementById('lblCompanyName');

        alert(companyNameValue);
        insertvalue.innerHTML = companyNameValue;
    }
</script>
</head>
<body>
<form method="post" action="">  
<p>Select the data</p> 
<?php
echo '<select name="companyNameList" id="companyNameList" onchange="showResult()" >';
for ($row = 0; $row < 2; $row++)
{
    echo '<option value="'.$placement[$row]["company_name"].'">'.$placement[$row]["company_name"].'</option>';
}
echo '</select>';
?>
<br>
<input name="Submit" type="button" class="Submit" value="Submit"  onClick="showResult()" />
<table border=2>
    <tr>
        <td>Case Number <br></td>
        <td>Technican ID <br></td>
        <td>Company Name <br><label id="lblCompanyName">Here</label> </td>
    </tr>
    <tr>
        <td>Model Number <br></td>
        <td>Machine Serial Number<br></td>
        <td>Company Address<br></td>
    </tr>
    <tr>
        <td>Customer Name<br><?php echo json_encode($placement[0]['customer_name']);?></td>
        <td>Customer Email<br></td>
        <td>Contact Number<br></td>
    </tr>
    <tr><td colspan=3>Remark<br></td></tr>
</table>
</form>
</body>
</html>

ループの上のphpコードにid="companyNameList"toを追加しました。<select>JS機能も更新しました。

これを使用すると、選択した値をアラートで確認できますか?選択した値がまだ取得されていないことを意味することがわからない場合。適切な値が表示されている場合は、割り当てが正しくないことを意味します。

于 2013-02-19T08:46:16.307 に答える
0

javascriptは問題ではありません、私はあなたのために簡単なjs-fiddleを作りました、私は問題があなたのphpコードとそれが生成するものだと思います。PHPコードがレンダリングする完全なHTMLを投稿していただけますか?

文字列が含まれていない可能性があると思い$placement[$row]['company_name']ます。

ここでは、jsを表示するjsfiddleです。 http://jsfiddle.net/HWFQH/1/

それ以外の場合は、これを試してください。ビュー/ htmlコードに含まれている場合は、少し読みやすくなる可能性があります。

<select name="companyNameList" onchange="showResult()">
<?php for ($row = 0; $row < 2; $row++):?>
     <option value="<?php echo $placement[$row]["company_name"];?>">
          <?php echo $placement[$row]["company_name"];?>
      </option>
<?php endfor;?>
</select>
于 2013-02-19T08:47:22.653 に答える