JavaScript 校验表单(不通过不提交后台)

校验表单两种方式:

一、通过onsubmit()方式来检查用户名密码是否输入:

代码如下(有注释):

<script>
	function check()
	{
		var element = document.getElementById("user_name");//获取用户名的输入元素标签
		if(element.value=="")//如果用户名为空,提示并返回false
		{
			alert("用户名不能为空");
			return false;
		}
		element = document.getElementById("password");//获取密码的输入元素标签
		if(element.value=="")//如果密码为空,提示并返回false
		{
			alert("密码不能为空");
			return false;
		}
		return true;//只有用户名和密码都不为空才能返回true
	}
</script>

<form action="http://www.baidu.com" onsubmit="return check()"> //返回false不提交
	<input id="user_name" placeholder="请输入用户名"/>
	<input id="password" type="password" placeholder="请输入密码"/>
	<input type="submit" value="登录"/>
</form>

二、通过document的submit()方法实现:

代码如下(有注释):

<script>
	function ch()
	{
		var element = document.getElementById("u_name");//获取用户名
		if(element.value=="")
		{
			alert("用户名不能为空");
			return;//如果用户名为空,提前返回方法,不提交
		}
		
		element = document.getElementById("pass");
		if(element.value=="")
		{
			alert("密码不能为空");
			return;//如果密码为空,提前返回方法,不提交
		}
		document.getElementById("sub").submit();//方法进行到这里将form的action提交
	}
</script>

<form id="sub" action="http://www.baidu.com" >
	<input id="u_name" placeholder="请输入用户名"/>
	<input id="pass" type="password" placeholder="请输入密码"/>
	<input type="button" value="登录" onclick="ch()"/> //点击时调用ch()方法
</form>
对不同的对象进行表单校验:

一、input标签如上面所示。

二、textarea标签(文本框与上述类似):

<script>
	function ch()
	{
		var element = document.getElementById("aoo");
		if(element.value=="")
		{
			alert("简介不能为空");
			return;
		}
		
		document.getElementById("sub").submit();//方法进行到这里将form的action提交
	}
</script>

<form id="sub" action="http://www.baidu.com" >
	<textarea id="aoo"></textarea>
	<input type="button" value="登录" onclick="ch()"/>
</form>

三、Radio 对象(Radio 对象代表 HTML 表单中的单选按钮):

<script>
	function ch()
	{
		var elements = document.getElementsByName("sex");
		var flag=1;//flag用来判断是否有一个被选中
		for(var i=0;i<elements.length;i++)
		{
			if(elements[i].checked)//checked检查是否被选中,如果被选中返回true
			{
				flag=0;
				break;
			}
		}
		if(flag)
		{
			alert("请选择性别");
			return;
		}
		
		document.getElementById("sub").submit();//方法进行到这里将form的action提交
	}
</script>

<form id="sub" action="http://www.baidu.com" >
	<input type="radio" name="sex" /><input type="radio" name="sex" /><input type="button" value="登录" onclick="ch()"/>
</form>

四、Checkbox 对象(Checkbox 对象代表一个 HTML 表单中的多选):

代码与单选框相似:

<script>
	function ch()
	{
		var elements=document.getElementsByName("hobby");
		var flag=1;//flag用来判断是否有一个被选中
		for(var i=0;i<elements.length;i++)
		{
			if(elements[i].checked)//checked检查是否被选中,如果被选中返回true
			{
				flag=0;
				break;
			}
		}
		if(flag)
		{
			alert("请选择爱好");
			return;
		}
		
		document.getElementById("sub").submit();//方法进行到这里将form的action提交
	}
</script>

<form id="sub" action="http://www.baidu.com" >
	<input type="checkbox" name="hobby"/>篮球
	<input type="checkbox" name="hobby"/>足球
	<input type="checkbox" name="hobby"/>排球
	<input type="button" value="登录" onclick="ch()"/>
</form>

五、Select 对象(Select 对象代表 HTML 表单中的一个下拉列表):

Option 对象:声Option 对象代表 HTML 表单中下拉列表中的一个选项。

<script>
	function ch()
	{
		elements = document.getElementById("grade").options;
		for(var i=0;i<elements.length;i++)
		{
			if(elements[i].selected && elements[i].value=="")//如果selected返回true(被选择了)且选择的内容是"",则表示没有选择
			{
				alert("请选择年级");
				return;
			}
		}
		
		document.getElementById("sub").submit();//方法进行到这里将form的action提交
	}
</script>

<form id="sub" action="http://www.baidu.com" >
	<select id="grade">
		<option value="">--请选择--</option> //此处value值设置为没有,用来ch()方法的判断
		<option value="1">一年级</option>
		<option value="2">二年级</option>
	</select>
	<input type="button" value="登录" onclick="ch()"/>
</form>
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 HTML 表单JavaScript 来实现表单提交。下面是一个简单的例子,假设你有一个包含用户名和密码输入框的表单: ```html <form id="my-form"> <label>用户名:</label> <input type="text" name="username"><br> <label>密码:</label> <input type="password" name="password"><br> <input type="submit" value="提交"> </form> ``` 然后使用 JavaScript 代码来拦截表单提交事件,并通过 AJAX 发送表单数据到服务器端: ```javascript document.getElementById("my-form").addEventListener("submit", function(event) { event.preventDefault(); // 阻止表单默认提交行为 var xhr = new XMLHttpRequest(); xhr.open("POST", "/submit-form"); // 替换成服务器端接口地址 xhr.setRequestHeader("Content-Type", "application/json"); // 设置请求头 xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); // 在控制台输出响应结果 } }; xhr.send(JSON.stringify({ username: document.getElementsByName("username")[0].value, password: document.getElementsByName("password")[0].value })); // 将表单数据转换为 JSON 字符串并发送到服务器端 }); ``` 上面的代码中,我们使用了 `preventDefault()` 方法来阻止表单的默认提交行为,然后创建了一个 XMLHttpRequest 对象,设置请求头和回调函数,并使用 `send()` 方法将表单数据发送到服务器端。在服务器端,你需要解析请求体中的 JSON 数据并进行相应的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值