一个接一个地调用脚本

Calling one script after another

我正在尝试在同一页面上使用两个 java 脚本,我的代码是:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>       
    <script src="socket.js"></script>
</head>
<body>    
  <div id="questionbox" width="100%"><%=data%></div>
</body>
</html>
<script>
  var socket = io.connect('http://localhost:3000');    

  socket.emit('questionreq',{res:'send me question'});
  questionbox = document.getElementById('questionbox');

  socket.on('question',function(res){
    question = res.question;
    optA = res.A;
    optB = res.B;
    optC = res.C;
    optD = res.D;
    answer = res.ans;

    questionbox.innerHTML += '<br>' + question + '<br>A:<input type="radio" name="question" id="A" value="A">' + optA + '<br>B <input type="radio" id="B" name="question" value="B">' + optB + '<br>'+ 'C :<input type="radio" name="question" id="C" value="C">' + optC + '<br>'+'D :<input type="radio" name="question" id="D" value="D">' + optD + '<br><input type="submit" id="submit" value="submit">'
  });    
</script>
<script>                                          
   btnSubmit=document.getElementById("submit");                                          
   btnSubmit.addEventListener('click', function() {                                          
     if (document.getElementById("A").checked)
       useranswer="A";
     else if (document.getElementById("B").checked)
       useranswer="B";
     else if (document.getElementById("C").checked)
       useranswer="C";
     else
       useranswer="D";
     if (1) {
       alert('correct!!!');
       socket.emit('correct',{res:'I am correct'});
     }
   });
</script>

这里我正在使用 node.js,所以第一个脚本是向服务器请求一个问题并将其呈现到 html 页面。当用户单击提交按钮时,第二个脚本会发出警报,但不会调用第二个脚本,您能告诉我这个脚本有什么问题吗?

您真的不需要两个单独的脚本标签。将第二个脚本保留在第一个脚本的 socket.emit 内。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>


     <script src="socket.js"></script>



</head>
<body>

<div id="questionbox" width="100%"><%=data%></div>

</body>
</html>
<script>
        var socket=io.connect('http://localhost:3000');

          socket.emit('questionreq',{res:'send me question'});
          questionbox=document.getElementById('questionbox');

        socket.on('question',function(res){
         question=res.question;
         optA=res.A;
         optB=res.B;
         optC=res.C;
         optD=res.D;
         answer=res.ans;
         
         questionbox.innerHTML+='<br>'+question+'<br>A:<input type="radio" name="question" id="A" value="A">'+optA+'<br>B <input type="radio" id="B" name="question" value="B">'+optB+'<br>'+'C :<input type="radio" name="question" id="C" value="C">'+optC+'<br>'+'D :<input type="radio" name="question" id="D" value="D">'+optD+'<br><input type="submit" id="submit" value="submit">';
var btnSubmit=document.getElementById("submit"); 

btnSubmit.addEventListener('click',function(){
                                      if(document.getElementById("A").checked)
                                        useranswer="A";
                                        else if(document.getElementById("B").checked)
                                        useranswer="B";
                                        else if(document.getElementById("C").checked)
                                        useranswer="C";
                                        else
                                         useranswer="D";
                                       if(1){
                                           alert('correct!!!');
                                          socket.emit('correct',{res:'I am correct'});
                                       }
                                       
                                      });
           });
                                     
</script>