Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript不能与php正常工作_Php_Javascript - Fatal编程技术网

javascript不能与php正常工作

javascript不能与php正常工作,php,javascript,Php,Javascript,我尝试在php中调用简单的javascript函数。我不能调用showResult()函数。我不知道这段代码有什么问题。你能帮我查一下吗?我感谢你的帮助 关于, 更新:是的。我知道这是一个修复性的问题(也就是一个现在以否定结束的问题),但我认为问题是不同的。事实上,我可以写其他类似的,只是我被这一个卡住了。我不能在这里发布全部或必要的功能,因为发布后,它会变得混乱。对不起,给你添麻烦了。我应该上传什么链接 <?php echo '<select name="companyNameL


我尝试在php中调用简单的javascript函数。我不能调用showResult()函数。我不知道这段代码有什么问题。你能帮我查一下吗?我感谢你的帮助

关于,

更新:是的。我知道这是一个修复性的问题(也就是一个现在以否定结束的问题),但我认为问题是不同的。事实上,我可以写其他类似的,只是我被这一个卡住了。我不能在这里发布全部或必要的功能,因为发布后,它会变得混乱。对不起,给你添麻烦了。我应该上传什么链接

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

有两个问题

HTML结构和表单标记不正确,它们应该在正文中

<html>
   <head>
      <script>
      </script>
   </head>
   <body>
     <form>
     </form>
   </body>
</html>
请在firefox中安装
firebug
,以捕获脚本中的任何错误

编辑完整代码

检查此代码

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

函数showResult()
{

javascript不是问题所在,我为您制作了一个简单的js提琴,我认为问题在于您的php代码,以及它生成的内容。您能发布php代码呈现的完整html吗

我认为
$placement[$row]['company\u name']
可能不包含字符串

这里的jsfiddle向您展示了js。

否则,试试这个,如果它在您的view/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>


相关部分可能重复您没有调用该函数,您只是打印了一个select。我认为您的javascript代码不正确。到底是什么不起作用?php代码看起来不错。但标题毫无意义:php不会调用javascript函数。当查看呈现的html页面并更改属性时,可以调用js函数选择选项。请提供更多详细信息。不要链接mediafire pleaseThanks以获取帮助。我写了一些粗略的内容,但没有遵循。我已根据您所说的内容进行了更改。但是,它仍然没有更新标签。我可以在下拉列表中看到所需的文本(将更新为标签)。因此,我认为showResult()不工作。它是否发出了带有HI的警报消息?请检查JS修复程序的此问题我也更新了我的答案否。它没有警报。我该怎么办?删除所有代码,或注释除警报行之外的所有代码,并且chck,可能JS中的错误不允许您警报。检查更新的答案谢谢您的帮助。我可以看到所需的下拉列表中的文本(将更新为label)。因此,我认为showResult()不起作用。我想在这里发布,但我认为空间不够。我可以知道如何传递给您吗?@KhantThuLinn:用所有必要的信息和源代码编辑您的初始问题。
<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>
<?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>
<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>