javascript没有给出结果

javascript没有给出结果,javascript,php,html,Javascript,Php,Html,我正在尝试构建一个表单,其中“提交”按钮将键入的值和已输入的值进行比较,若正确,则给出正确的答案,并在数字字段中输入1。这里的答案是确定的,但在我的代码所在的标记字段中不显示1 <script> function marks() { var marks="<?php echo $marks; ?>"; document.getElementById('marks').va

我正在尝试构建一个表单,其中“提交”按钮将键入的值和已输入的值进行比较,若正确,则给出正确的答案,并在数字字段中输入1。这里的答案是确定的,但在我的代码所在的标记字段中不显示1

<script>
 function marks()
          {    
             var marks="<?php echo $marks; ?>";
             document.getElementById('marks').value = marks;
          }
        </script>
 

<h1>Identify the Sound</h1> 
    
<table name="tb" class="table table-bordered"  id="tb">   
    <tr>
        <th  width=10%;>Audio Clip</th>
        <th  width=10%;></th>
        <th width=10%;>Type your answer</th>
        <th width=30%;></th>
        <th width=10%;>Marks</th>
    </tr>
    <form action="" method="POST">                          
<tr>
 
<td><audio width=10%; controls preload="none">
  <source src="emer.wav" type="audio/wav">   
</audio>
</td>
<td><input width=10%;  name="name1" value="siron" class="form-control" type="hidden" ></td>
<td><input width=20%; type="text" name="compare1" class="form-control" style="margin-right:10px;margin-bottom:30px; height:35px;font-weight:bold"></td>
<td><button width=20%;type="submit" onClick="marks()" name="submit1" class="btn btn-info"  align="middle" style="margin-right:10px;margin-bottom:30px; height:35px; font-weight:bold" class="form-control">Submit Answer </button> <span >
<?php
if(isset($_POST["submit1"]))
{
 $name1=$_POST['name1'];
  $compare1=$_POST['compare1'];

    $value= strcasecmp("$name1","$compare1");

 if ($value==0){
     echo "Correct Answer";
     $marks=1;
 }else{
     echo "wrong answer";
     $marks=0;
 }
}
?>
</span></td>
<td><input width=20%; type="number" name="marks" id="marks" class="form-control" style="margin-right:10px;margin-bottom:30px; height:35px;font-weight:bold"></td>
</tr>
</form>

</table>

函数标记()
{    
var marks=“”;
document.getElementById('marks')。value=marks;
}
辨别声音
音频剪辑
键入你的答案
标志
提交答案

您遇到一个问题,由于表单提交,PHP阻止JavaScript运行:

  • PHP加载文件并生成HTML
  • 用户提交答案表单
  • 表单被提交到服务器,JavaScript没有机会运行
  • PHP像以前一样呈现相同的空字段,因为JavaScript没有填充这些字段
  • 我建议完全删除JavaScript,让PHP填充标记字段的值:

    <td><input value="<?php echo $marks; ?>" width=20%; type="number" name="marks" id="marks" class="form-control" style="margin-right:10px;margin-bottom:30px; height:35px;font-weight:bold"></td>
    
    

    您试图调试该问题的是什么?这是一个纯粹的浏览器端问题(因为标记生成正确,但执行错误),还是一个涉及服务器的问题?我想我正在用JSON做一些事情,你能进一步解释一下吗?如果这是一个纯JS问题,请编辑您的问题以包含触发该问题的生成标记marks函数在哪里?如果它位于不同的文件中,PHP不会定义该值。编辑:将“标记”函数与HTML的其余部分一起移动到一个
    标记中。@您可以解释更多,但它不会在单击时生成值。该值不必在单击时生成,而是通过页面的发布和重新加载生成的。