Javascript 根据使用的提交按钮验证表单
所以,我有这个代码Javascript 根据使用的提交按钮验证表单,javascript,forms,validation,Javascript,Forms,Validation,所以,我有这个代码 <script> function validate(f) { var ok = true; if (f.id.value === '' || f.id.value === null) { ok = false; } return ok; } function validate2(f) { var ok = true;
<script>
function validate(f) {
var ok = true;
if (f.id.value === '' || f.id.value === null) {
ok = false;
}
return ok;
}
function validate2(f) {
var ok = true;
if (f.name.value === '' || f.name.value === null) {
ok = false;
}
return ok;
}
</script>
<form action="#" method="post">
<input type="text" name="id"/>
<input type="text" name="name"/>
<input type="submit" name="send_id" value="Send ID"/>
<input type="submit" name="send_name" value="Send Name"/>
</form>
函数验证(f){
var-ok=true;
如果(f.id.value==''| | f.id.value===null){
ok=假;
}
返回ok;
}
函数2(f){
var-ok=true;
如果(f.name.value==''| | f.name.value===null){
ok=假;
}
返回ok;
}
如何根据使用的提交来验证表单?
我想执行validate();如果单击“发送Id”按钮并验证2(),如果我们使用另一个按钮。您可以执行以下操作:
<form id="myForm" action="#" method="post">
<input type="text" name="id"/>
<input type="text" name="name"/>
<input type="submit" name="send_id" value="Send ID" onclick="return validate();" />
<input type="submit" name="send_name" value="Send Name" onclick="return validate2();" />
</form>
您必须如上所示为表单提供一个id。具有另一个功能,如
checkValidate()
或其他您喜欢的功能,然后单击两个按钮进行检查
<script>
function checkValidate(buttonName) {
if(buttonName == 'send_id'){
return validate();
}else{
return validate2();
}
}
function validate() {
var ok = true;
if (f.id.value === '' || f.id.value === null) {
ok = false;
}
return ok;
}
function validate2() {
var ok = true;
if (f.name.value === '' || f.name.value === null) {
ok = false;
}
return ok;
}
</script>
<form action="#" method="post">
<input type="text" name="id"/>
<input type="text" name="name"/>
<input type="submit" name="send_id" value="Send ID" onclick="return checkValidate(this.name)"/>
<input type="submit" name="send_name" value="Send Name" onclick="return checkValidate(this.name)"/>
</form>
功能检查验证(按钮名称){
如果(buttonName=='send_id'){
返回validate();
}否则{
返回validate2();
}
}
函数验证(){
var-ok=true;
如果(f.id.value==''| | f.id.value===null){
ok=假;
}
返回ok;
}
函数validate2(){
var-ok=true;
如果(f.name.value==''| | f.name.value===null){
ok=假;
}
返回ok;
}
我希望它有帮助……未经测试。。但是像这样的事情
$( "input[name='send_id']" ).click(function(event) {
event.preventDefault()
validate();
$("form").submit();
});
$( "input[name='send_name']" ).click(function(event) {
event.preventDefault()
validate2();
$("form").submit();
});
验证函数时,什么是参数f
?为什么不能只生成两种不同的形式?参数f是形式本身,我无法生成两种不同的形式,因为我无法嵌套它们。谢谢,这就是我一直在寻找的东西。您是否测试了它?我可以猜测,如果您不返回由checkValidate
返回的值,即使表单无效,也会发生提交。检查下面我的答案。onclick=“return checkValidate(this.name)”
而不是onclick=“checkValidate(this.name)”
不,我甚至没有测试它,我使用了你的答案谢谢,这比我认为OP不使用jQuery更简单
$( "input[name='send_id']" ).click(function(event) {
event.preventDefault()
validate();
$("form").submit();
});
$( "input[name='send_name']" ).click(function(event) {
event.preventDefault()
validate2();
$("form").submit();
});