javascript有问题吗

javascript有问题吗,javascript,Javascript,从开始到javasctipt。我正在尝试写一个简单的计算,如果更换机油的时间超过6个月,车内剩余的机油量少于启动时的机油量,则会显示一些文本,最后显示是否一切正常 谢谢你的帮助 JavaScript function oil(){ var start = document.oil.start.value; var lastOilChange = document.oil.time.value; var totalOil = document.oil.amount.valu

从开始到javasctipt。我正在尝试写一个简单的计算,如果更换机油的时间超过6个月,车内剩余的机油量少于启动时的机油量,则会显示一些文本,最后显示是否一切正常

谢谢你的帮助

JavaScript

function oil(){
    var start = document.oil.start.value;
    var lastOilChange = document.oil.time.value;
    var totalOil = document.oil.amount.value;
    var aa = "you need to change the oil";

    if( lastOilChange > 6 || start < totalOil){
        document.oil.result.write(aa);
    }else{
        document.oil.result.write("Everything Is all good");
    }
}
功能油(){
var start=document.oil.start.value;
var lastOilChange=document.oil.time.value;
var totalOil=document.oil.amount.value;
var aa=“您需要更换机油”;
如果(lastOilChange>6 | |开始<总油量){
文件.油.结果.书写(aa);
}否则{
文件。油。结果。写(“一切都很好”);
}
}
HTML

<form name="oil">
    Starting amount of oil
    <input type="text" name="start">
    Time since oil change
    <input type="text" name="time">
    Total amount of oil in car now(quarts)
    <input type="text" name="amount">
    <input type="submit" onclick = oil()>
    <input name=result readonly>
</form>

开始油量
换油后的时间
现在车内的机油总量(夸脱)

您的代码有几个问题

  • 缺少
    表单
    关闭标记
  • 你的控件没有ID
  • 结果输入中缺少引号
  • 不提交表单时,不需要使用
    submit
    输入。尝试
    按钮
  • 不确定什么
    document.oil.result.write(aa)就可以了。我认为正确的过程是使用
    document.getElementById
    获取输入,然后设置控件的值

我将尽量以最少的换行次数回答您的问题。这不是最佳答案。已添加注释以帮助您理解所需的更改。你的HTML和JavaScript是无效的,所以我很惊讶它们是如何在Chrome上运行的

<!doctype>
<html>
<head>
<title>Personal</title>
<meta charset="utf-8">
<script type="text/javascript">

function _oil(){  // oil() conflicts with your form's name
    var start = document.oil.start.value;
    var lastOilChange = document.oil.time.value;
    var totalOil = document.oil.amount.value;
    var aa = "you need to change the oil";

    if( lastOilChange > 6 || start < totalOil){
        document.write(aa);  // you can't .write() to an element
    }else{
        document.write("Everything Is all good");
    }
    window.event.preventDefault();  // so your window does not load the same page when you submit
    return false;
}



</script>

<style>

form input {
display: block;
}


</style>
</head>
<body>

<form name="oil">
Starting amount of oil
<input type="text" name="start">
Time since oil change
<input type="text" name="time">
Total amount of oil in car now(quarts)
<input type="text" name="amount">
<input type="submit" onclick ="_oil()">  <!-- you must enclose the onclick attribute, even if both work -->

<input name=result readonly>

</body>
</html>

个人的
函数_oil(){//oil()与窗体名称冲突
var start=document.oil.start.value;
var lastOilChange=document.oil.time.value;
var totalOil=document.oil.amount.value;
var aa=“您需要更换机油”;
如果(lastOilChange>6 | |开始<总油量){
document.write(aa);//不能对元素执行.write()
}否则{
记录。写下(“一切都很好”);
}
window.event.preventDefault();//因此在提交时窗口不会加载相同的页面
返回false;
}
表单输入{
显示:块;
}
开始油量
换油后的时间
现在车内的机油总量(夸脱)
可能是这样的:

<!doctype>
<html>
<head>
<title>Personal</title>
<meta charset="utf-8">
<script type="text/javascript">
function oil(){
    var start = document.getElementsByName("start")[0].value;
    var lastOilChange = document.getElementsByName("time")[0].value;
    var totalOil = document.getElementsByName("amount")[0].value;
    var aa = "you need to change the oil";

    if( lastOilChange > 6 || start < totalOil){
        document.getElementsByName("result")[0].value = aa;
    }else{
        document.getElementsByName("result")[0].value = "Everything Is all good";
    }

}
</script>

<style>
form input {
    display: block;
}
</style>
</head>
<body>

<form name="thisform">
    Starting amount of oil
    <input type="text" name="start">
    Time since oil change
    <input type="text" name="time">
    Total amount of oil in car now(quarts)
    <input type="text" name="amount">
    <input type="button" value="go" onclick = oil()>
    <input name=result readonly>
</form>
</body>
</html>

个人的
功能油(){
var start=document.getElementsByName(“start”)[0]。值;
var lastOilChange=document.getElementsByName(“时间”)[0]。值;
var totalOil=document.getElementsByName(“金额”)[0]。值;
var aa=“您需要更换机油”;
如果(lastOilChange>6 | |开始<总油量){
document.getElementsByName(“结果”)[0]。value=aa;
}否则{
document.getElementsByName(“结果”)[0].value=“一切正常”;
}
}
表单输入{
显示:块;
}
开始油量
换油后的时间
现在车内的机油总量(夸脱)

!!!表单名称不能使用oil

您想要的是设置表单字段的值,而不是尝试使用
写入

if( lastOilChange > 6 || start < totalOil){
    document.oil.result.value = aa;
} else {
    document.oil.result.value = "Everything Is all good";
}
()

document.oil.onsubmit = function () {
    ...
    return false;
}