【问题标题】:My function keep refreshing我的功能不断刷新
【发布时间】:2018-04-01 09:46:49
【问题描述】:

我有一个小问题,为什么我的页面在显示数据后一直刷新。我用这个代码,

<input type="submit" value="Submit" align="center" Onclick="hitung()" class="myButton" >

但是如果我把type="submit"改成type="button"就好了

这里是我的函数hitung()

function hitung(){

var e = (document.getElementById("ifin").value);
var a = (document.getElementById("Furniture").value);
var panjang =(document.getElementById("ipanjang").value);
var ht = 0.0;
var hf = 0.0;
var total = 0.0;

if (e == "hpl") {

				hf = 0.0;
			}
else if(e == "cat")
			{
				hf = 0.5;
}
else {
				hf = 0.0;
}
if (a == "kitchen"){
				ht = 1.7;	
}
else if (a == "meja"){
				ht = 2.3;	
}
else {
				ht = 0.0;
}
total = panjang*ht+hf;
document.getElementById("ototal").innerHTML ="Harga Total : Rp."+total.toFixed(2)+"0.000,00"+"<br>Sudah termasuk ongkir";
}

提前致谢

【问题讨论】:

  • 因为“提交”类型的输入将提交表单(如果它在带有操作的表单内),所以基本上,如果您单击该提交按钮,它将转到指定的表单操作。
  • 问题不完整,请提供hitung()的完整页面代码或内容
  • 我尝试过使用event.preventDefault(),但这会使我的功能无法正常工作

标签: javascript html arrays forms submit


【解决方案1】:

如果您的type="submit" 整个页面刷新。为了防止这种情况在 hitung 函数中使用 event.preventDefault()

如果调用此方法,则不会触发事件的默认动作。 对于提交类型,默认的提交操作是被阻止的。

【讨论】:

    【解决方案2】:

    将 hithung() 定义更改为:

       function hitung(e)
    {
    e.preventDefault();
    
    // Body of function.
    
    }
    

    【讨论】:

    • 如果我使用该功能,我的结果不会出来
    • 那么,你需要提交表单吗?
    • 是的,我希望在我使用type="submit"时结果不会关闭
    • 添加e.preventDefault()的结果是什么?这会引发一些错误吗?检查控制台。
    • 它不断刷新,我的结果不出来
    猜你喜欢
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2015-09-22
    相关资源
    最近更新 更多