javascript - HTML 属性值在通过 javascript 更改后返回其初始值

标签 javascript html

假设我要图像文件,一个名为 redflowers.jpg , 第二个是名字 whiteflowers.jpg

现在我想创建一个名为 htmlcss1.html 的网页, 最初显示 红色花朵的图像:

它在一个表单中有 2 个按钮:

<form style="text-align: center;" method=POST action=htmlcss1.html>
    <input type=submit value="red flowers" onClick=f("./redflowers.jpg"); />
    <input type=submit value="white flowers" onClick=f("./whiteflowers.jpg"); />
</form>

当您单击 second button ,页面显示的是白色花朵的图像, 当你点击 first button ,页面显示红色花朵的图像。

为了做到这一点,我在 HTML 页面的末尾写了一段 javascript 代码, 这改变了 src html标签的属性值<img>

<script language = "javascript" type = "text/javascript">
    function f(x) {
        document.getElementById("id1").src = x;
    }
</script>

问题是,每当我点击 second button (展示白花), 图像改变了一秒钟,显示出白色的花朵,但随后又变回红色的花朵

这是名为 htmlcss1.html 的 HTML 页面的完整代码:

<html>
<head>
    <title> html - css (1) </title>
    <link rel="stylesheet" type="text/css" href=css1.css>

    <script language = "javascript" type = "text/javascript">
        function f(x) {
            document.getElementById("id1").src = x;
        }
    </script>
</head>

<body>

    <center><img id=id1></center>
    <!--<script language = "javascript" type = "text/javascript">
        document.getElementById("id1").src = "./redflowers.jpg";
    </script>-->

    <br/> <br/>

    <form style="text-align: center;" method=POST action=htmlcss1.html>
        <input type=submit value="red flowers" onClick=f("./redflowers.jpg"); />
        <input type=submit value="white flowers" onClick=f("./whiteflowers.jpg"); />
    </form>

</body>
</html>

我必须做什么?

最佳答案

当您点击提交按钮时,您正在运行该函数。

提交按钮将提交一个表单。

提交表单会将表单数据发送到服务器并加载服务器发回的新页面。


如果您不想这样,请不要使用提交按钮!

您可以在使用表单时完全摆脱它,因为您一开始就没有收集任何数据。

改变:

<form style="text-align: center;" method=POST action=htmlcss1.html>
    <input type=submit value="red flowers" onClick=f("./redflowers.jpg"); />
    <input type=submit value="white flowers" onClick=f("./whiteflowers.jpg"); />
</form>

到:

<input type=button value="red flowers" onClick=f("./redflowers.jpg"); />
<input type=button value="white flowers" onClick=f("./whiteflowers.jpg"); />

关于javascript - HTML 属性值在通过 javascript 更改后返回其初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59201179/

相关文章:

javascript - 嵌套循环中匿名闭包的可读性

javascript - 追加Jquery后点击事件

javascript - 使用article_id按钮打开对话框

javascript - 如何在同一服务器上动态更改页面而无需空闲时间?

javascript - "fullpage js"上的滚动条

javascript - tSort jQuery 对象

javascript - 如何在表格中集成搜索功能?

javascript - 使用 jquery 或 javascript 更改 slider 图像 src

javascript - 如何获取总天数 Multidatepicker MDP

javascript - IE7 和 8 将不需要的阴影添加到另一个表格内的表格