-4


我试图在 php 中调用简单的 javascript 函数。我无法调用该函数 showResult()。我不知道这段代码有什么问题。你能帮我查一下吗?我感谢您的帮助。
http://www.mediafire.com/?hycdzegki1n79lg
关于,

更新:是的。我知道这是修复性问题(现在也以否定关闭),但我认为问题有所不同。实际上,我可以写其他类似的东西,只是我被这个卡住了。我不能在这里发布完整或必要的功能,因为发布后,它变得混乱。很抱歉给你添麻烦了。我要上传什么链接?

<?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

javascript 不是问题,我为您制作了一个简单的 js-fiddle,我认为问题在于您的 php 代码及其生成的内容。您能否发布 php 代码呈现的完整 html?

我认为$placement[$row]['company_name']可能不包含字符串。

这里的 jsfiddle 向您展示了 js。 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 回答
0

有几个问题。

HTML 结构和 Form 标签不正确,它们应该在正文中

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

这是你应该遵循的结构

他们编写 onChange 函数的方式是正确的,但我认为问题出在 showResult 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 "hi";?>

}
</script>

请注意,它<?PHP echo 'hi'; ?>只会在 JS 中输出“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 回答