javascript - 不允许继续使用 Javascript

标签 javascript html

所以基本上我想做的是阻止访问提交信息。我通常通过 onsubmit=CheckForm() 执行此操作,如果返回 false,则不会发送数据。 在此代码中,我使用了不同的函数,但没有找到可以返回 false 且不允许继续的方法。

*这些函数基本上是通过警告来说明输入的 URL 是否是有效图像。警报后,它会发送数据。我希望它显示警报,但只是不发送任何内容,只是刷新(例如)。

Javascript:

        var test = function () {
            document.getElementById('image2').src = document.getElementById('image').value;
        }

        var errorCallback = function () {
            alert('Image did not exist');
            return false;
        }

        var loadCallback = function () {
            alert('Image existed');
        }

HTML:

<p style="font-size:20px; font-family:Arial; font-weight:800;">URL to prested Image: </p><input type="text" id="image" name="image" class="URLs" value="http://"/>


        <p><input type="submit" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="test()" /></p>  
        <img style="display: none" id="image2" onerror="errorCallback()" onload="loadCallback()" />

提前致谢!

最佳答案

Option 1: 在函数中返回false。

通过在 onclick 处理程序中返回 false,它将阻止提交事件发生。

改变:

var test = function () {
  document.getElementById('image2').src = document.getElementById('image').value;
};

<p><input type="submit" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="test()" /></p>  

收件人:

var test = function () {
  document.getElementById('image2').src = document.getElementById('image').value;
  return false;
};

<p><input type="submit" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="return test()" /></p>  

Option 2: 传递事件处理程序并阻止默认事件的发生。

改变:

var test = function () {
  document.getElementById('image2').src = document.getElementById('image').value;
};

<p><input type="submit" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="return test()" /></p> 

收件人:

var test = function (e) {
  document.getElementById('image2').src = document.getElementById('image').value;
  e.preventDefault();
};

<p><input type="submit" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="return test(event)" /></p> 

Option 3: input 更改为 type=button 以不触发提交事件。

改变:

 <p><input type="submit" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="test()" /></p>  

收件人:

 <p><input type="button" class="myButton" style="padding: 25px 150px; line-height:6px;" value="Submit Details" onclick="test()" /></p>  

关于javascript - 不允许继续使用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24581588/

相关文章:

javascript - 如何使 tabindex 在 div 中本地化

html - 应如何格式化地址以进行全局销售

javascript - 文本区域格式不缩进第一行

javascript - 将许多表单输入值从子窗口传递到父窗口的更好方法

javascript - 如何在 Meteor JS 中存储成本数据以便可以递增?

javascript - 淡入一个元素并淡出所有其他元素

javascript - 获取当前浏览器中的文本选择颜色和背景颜色

javascript - 根据表中的另一列更改按钮颜色

javascript - position absolute 不显示所有内容,显示在其他组件后面

html - 使用 HTML 对齐和对齐文本