第一次单击时javaScript函数不起作用

时间:2019-11-21 19:23:38

标签: javascript php html

我试图在单击按钮时调用JavaScript函数(具有一些php代码)。 但是该功能不能在第一次使用!我应该单击两次以使其开始。
这是我的代码...

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function f1(id)
{
    document.getElementById("hiddenVal").value = id;
    window.alert("the function is started");
    window.alert(id);
    f2();
}
function f2()
{
    <?php
        $Biid=$_POST["hiddenVal1"];
    ?>
    window.alert("<?php echo $Biid; ?>");
}
</script>
</head>
<body>
    <form  method="post">
        <button id="2" onclick="f1(this.id)"> click me </button>
        <input type="text"  name="hiddenVal1" id="hiddenVal" /> </div>
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

问题是表单内按钮的默认行为是提交该表单 因此,您可以向按钮添加一个type属性,这样它就不会提交表单,也不会将事件监听器与“ preventDefault”函数一起使用,如下所示:

选项1:

<button id="2" type="button" onclick="f1(this.id)"> click me </button>

选项2:

document.addEventListener('submit', function(event){
  event.preventDefault();
  f1(event.target.id);
});