为什么我的HTML表单不将数据发送到我的JS文件?

时间:2014-11-02 15:55:47

标签: javascript html forms

我正在开发一个简单的ASP.NET项目。我有HTML和JS文件。我试图将表单输入的值发送到JS文件,但似乎由于某种原因被打破。 我的表格如下:

<div class="set-the-clock">
    <form name="settheclock">
        <span>Hours: </span><input type="text" id="fhours" value=""><br>
        <span>Minutes: </span><input type="text" id="fminutes" value=""><br>
        <span>Seconds: </span><input type="text" id="fseconds" value=""><br>
        <input type="button" id="send" value="Enter">
    </form>

我的JS是:

var setHour = document.getElementById("fhours").value;
var setMinute = document.getElementById("fminutes").value;
var setSecond = document.getElementById("fseconds").value;

以及意图使用它的功能:

 function setTheClockByButton() {
    setTheClock(setHour, setMinute, setSecond);
    alert(setHour);
 }

如果我在HTML表单中为数字添加一个数字,它可以正常工作(像这样)

<span>Hours: </span><input type="text" id="fhours" value="3"><br>

但它不接受键盘上的任何数据。

当然,我有与表单关联的onclick函数:

 document.getElementById("send").onclick = setTheClockByButton;

(否则没有意义)。

2 个答案:

答案 0 :(得分:1)

将这些赋值语句移到函数中:

 function setTheClockByButton() {
    var setHour = document.getElementById("fhours").value;
    var setMinute = document.getElementById("fminutes").value;
    var setSecond = document.getElementById("fseconds").value;

    setTheClock(setHour, setMinute, setSecond);
    alert(setHour);
 }

现在每次单击按钮(并注意我假设该部分有效,因为你说它确实如此),将获取输入字段的值,以便时钟更新功能正在使用 - 日期值。

答案 1 :(得分:0)

您需要onclick个活动:

<div class="set-the-clock">
    <form name="settheclock">
        <span>Hours: </span><input type="text" id="fhours" value=""><br>
        <span>Minutes: </span><input type="text" id="fminutes" value=""><br>
        <span>Seconds: </span><input type="text" id="fseconds" value=""><br>
        <input type="button" id="send" value="Enter" onclick="setTheClockByButton()">
    </form>
</div>

<script>

function setTheClockByButton() {
   var setHour = document.getElementById("fhours").value;
   var setMinute = document.getElementById("fminutes").value;
   var setSecond = document.getElementById("fseconds").value;
   alert(setHour);
}

</script>