我如何使它使答案循环而不必刷新页面

How do I make it so the answer loops without having to refresh the page?

本文关键字:不必 刷新 循环 何使它 答案      更新时间:2023-09-26

只是需要一些帮助与这段代码。我希望在数组中随机选择一个响应,但是每当我在浏览器中检查代码时,我都必须刷新页面以获得随机响应。此外,我需要一些提示如何如何我可以阻止问题部分,如果用户没有输入一个名字。非常感谢:)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
</head>
<body>
    <p>SoothSayer<br></p>
    <form>
        Name: <input id="Name" name="textfield" type="text"><br>
        Question: <input id="Question" name="textfield" type="text"><br>
        Birthday: <select id="month">
        <option value=0>&nbsp&nbsp--Month--</option>
        <option value=1>January</option>
        <option value=2>February</option>
        <option value=3>March</option>
        <option value=4>April</option>
        <option value=5>May</option>
        <option value=6>June</option>
        <option value=7>July</option>
        <option value=8>August</option>
        <option value=9>September</option>
        <option value=10>October</option>
        <option value=11>November</option>
        <option value=12>December</option>
    </select>
     <select id="date">
        <option value=0>&nbsp&nbsp--Date--</option>
    </select>
</form>
<br>
<span id="sign"></span>
<span id="Random"></span>
    <script type="text/javascript">
    var dsel = document.getElementById("date");
    var msel = document.getElementById("month");
    var mong = document.getElementById("Name");
    //var schlong = document.getElementById("Question");
	
    var x = ["I see great calamity up ahead, you should definitley hold off on that", "I see great fortune up ahead, you should definitley do that!", "Your way ahead is cloudy, I suggest you dont do that", "Your way ahead is clear and fortunate, I suggest you attemp that!"];
	var rand = x[Math.floor(Math.random() * x.length)];
	
    dsel.options.length = 32;
    for ( var d = 1; d <= 31; ++d ) {
    dsel.options[d] = new Option(d,d);
    }
    msel.onchange =  clearbox;
    function clearbox() {
    document.getElementById("sign").innerHTML = " ";
    document.getElementById("date").selectedIndex = 0;
    }
    dsel.onchange = getSign;
    function getSign( ) {
    var m = Number(msel.value);
    var d = Number(dsel.value);
    var s = "";
    var a = mong.value
    if ((d == 0) || (m == 0)) {
    document.getElementById("sign").innerHTML = " ";
    return;
    }
	
    var md = m * 100 + d;
    if ( m == 1 && d > 0 && d <= 19 ) md = 1299;
    if ( md >= 1222 )      { s = "Capricorn"; } 
    else if ( md >= 1122 ) { s = "Sagittarius"; } 
    else if ( md >= 1023 ) { s = "Scorpio"; } 
    else if ( md >= 923 )  { s = "Libra"; } 
    else if ( md >= 823 )  { s = "Virgo"; }
    else if ( md >= 723 )  { s = "Leo";   }
    else if ( md >= 622 )  { s = "Cancer"; }
    else if ( md >= 521 )  { s = "Gemini"; }
    else if ( md >= 420 )  { s = "Taurus"; }
    else if ( md >= 321 )  { s = "Aries"; }
    else if ( md >= 219 )  { s = "Pisces"; }
    else if ( md >  100 )  { s = "Aquarius"; }
    document.getElementById("sign").innerHTML = "Your Zodiac sign is " + s +", "+ a + " "+ rand;
	}
    </script>
</body>
</html>

  1. 你可以通过AJAX来检索数据而不刷新页面
  2. 在javascript中使用时间间隔运行AJAX函数