Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交前筛选表单参数_Javascript_Php_Html_Url - Fatal编程技术网

Javascript 提交前筛选表单参数

Javascript 提交前筛选表单参数,javascript,php,html,url,Javascript,Php,Html,Url,提交前是否有方法检查参数是否为空 <form method="GET"> <input name="param1" value="test"/> <input name="param2" value=""/> <input type="submit" name="" id="search-submit" class="button" value="Submit"> </form> 那么,当参数为空时,是否有可能

提交前是否有方法检查参数是否为空

<form method="GET">
    <input name="param1" value="test"/>
    <input name="param2" value=""/>
    <input type="submit" name="" id="search-submit" class="button" value="Submit">
</form>
那么,当参数为空时,是否有可能得到这样的结果呢。它不应该包括在内。 像


由于param2为空

您必须检查param是否在php中使用isset()函数设置 因此:

大多数情况下,页面会给您一个错误,因为在第一个视图中没有设置$\u GET

因此,将代码更改为::

if ( isset( $_GET['SUBMIT BUTTON'] ) ) {
    if ( isset ( $_GET['param2']) ) {
    //do some thing
  }
}

您必须检查参数是否在php
因此:

大多数情况下,页面会给您一个错误,因为在第一个视图中没有设置$\u GET

因此,将代码更改为::

if ( isset( $_GET['SUBMIT BUTTON'] ) ) {
    if ( isset ( $_GET['param2']) ) {
    //do some thing
  }
}
纯javascript方法

form.onsubmit=function(){
  var arr=this.elements,i=0,l=arr.length;
  for(;i<l;i++){
    if(arr[i].value===''){
      arr[i].disabled=true;
    }
  }
}
form.onsubmit=function(){
var arr=this.elements,i=0,l=arr.length;
对于(;i纯javascript方法

form.onsubmit=function(){
  var arr=this.elements,i=0,l=arr.length;
  for(;i<l;i++){
    if(arr[i].value===''){
      arr[i].disabled=true;
    }
  }
}
form.onsubmit=function(){
var arr=this.elements,i=0,l=arr.length;

对于(;i始终最好在服务器端验证数据,用户可以禁用javascript并仍然提交表单。请查看以下代码并尝试:

//完整代码

//myFile.php

<?php
if(isset($_GET['get'])){        
        //validating:
        if($_POST['param1']==""||$_POST['param2']==""){
            echo 'come on boy, insert a text';
        }else{
            echo 'ok i got it <hr />'
            .$_POST['param1'].'<br />'
            .$_POST['param2'].'<br />';
        }
}else{

?>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script> 
<script type="text/javascript">
$(document).ready(function(){
     $('#idForm').ajaxForm({
        beforeSend: function() { 
           $('#response').html('Processing...').show();
        },
        error: function(xhr, ajaxOptions, thrownError) {
            $('#response').html('Error:<br />'+thrownError);
        }, 
        success: function(response) { 
            $('#response').html(response);
        }
    });
});

</script>
<form method="POST" id="idForm" action="myFile.php?get=0">
    <input name="param1" id="idParam1" value="test"/><br />
    <input name="param2" id="idParam2" value=""/><br />
    <input type="submit" name="" id="search-submit" class="button" value="Submit"><br /><br />
</form>

<div id="response"></div>

<?php   
}   
?>

$(文档).ready(函数(){
$('#idForm').ajaxForm({
beforeSend:function(){
$('#response').html('Processing…').show();
},
错误:函数(xhr、ajaxOptions、thrownError){
$('#response').html('Error:
'+thrownError); }, 成功:功能(响应){ $('#response').html(response); } }); });




始终最好在服务器端验证数据,用户可以禁用javascript并仍然提交表单。查看此代码并尝试:

//完整代码

//myFile.php

<?php
if(isset($_GET['get'])){        
        //validating:
        if($_POST['param1']==""||$_POST['param2']==""){
            echo 'come on boy, insert a text';
        }else{
            echo 'ok i got it <hr />'
            .$_POST['param1'].'<br />'
            .$_POST['param2'].'<br />';
        }
}else{

?>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script> 
<script type="text/javascript">
$(document).ready(function(){
     $('#idForm').ajaxForm({
        beforeSend: function() { 
           $('#response').html('Processing...').show();
        },
        error: function(xhr, ajaxOptions, thrownError) {
            $('#response').html('Error:<br />'+thrownError);
        }, 
        success: function(response) { 
            $('#response').html(response);
        }
    });
});

</script>
<form method="POST" id="idForm" action="myFile.php?get=0">
    <input name="param1" id="idParam1" value="test"/><br />
    <input name="param2" id="idParam2" value=""/><br />
    <input type="submit" name="" id="search-submit" class="button" value="Submit"><br /><br />
</form>

<div id="response"></div>

<?php   
}   
?>

$(文档).ready(函数(){
$('#idForm').ajaxForm({
beforeSend:function(){
$('#response').html('Processing…').show();
},
错误:函数(xhr、ajaxOptions、thrownError){
$('#response').html('Error:
'+thrownError); }, 成功:功能(响应){ $('#response').html(response); } }); });




使用纯javascript,类似于-(未经测试)


使用纯javascript,它将类似于-(未经测试)


提交前筛选:

<form name="FOOO">
    <input type="text" name="firsttt"   value="blabla">
    <tEXtarea> aaa</tEXtarea>
    <input type="text" name="Secondssssss"   value="blabla2">
    <input type="submit" onclick="return MyValidator('FOOO');">
</form>

<script type="text/javascript">
function MyValidator(FORMNAMEE){
    var inputs = document.forms[FORMNAMEE].getElementsByTagName("input");
    for(var i = 0; i < inputs.length; i++)    {
        alert(inputs[i].value);
    }
    var textareas = document.forms[FORMNAMEE].getElementsByTagName("textarea");
    for(var i = 0; i < textareas.length; i++)    {
        alert(textareas[i].value);
    }
}
</script>

aaa
函数MyValidator(FormName){
var inputs=document.forms[FormName].getElementsByTagName(“输入”);
对于(变量i=0;i
提交前筛选:

<form name="FOOO">
    <input type="text" name="firsttt"   value="blabla">
    <tEXtarea> aaa</tEXtarea>
    <input type="text" name="Secondssssss"   value="blabla2">
    <input type="submit" onclick="return MyValidator('FOOO');">
</form>

<script type="text/javascript">
function MyValidator(FORMNAMEE){
    var inputs = document.forms[FORMNAMEE].getElementsByTagName("input");
    for(var i = 0; i < inputs.length; i++)    {
        alert(inputs[i].value);
    }
    var textareas = document.forms[FORMNAMEE].getElementsByTagName("textarea");
    for(var i = 0; i < textareas.length; i++)    {
        alert(textareas[i].value);
    }
}
</script>

aaa
函数MyValidator(FormName){
var inputs=document.forms[FormName].getElementsByTagName(“输入”);
对于(变量i=0;i
查看类似的问题|查看类似的问题|我遇到了这样的错误,
表单未定义
。我不想使用
文档。表单名称
也可以。知道如何使其通用吗?@Cindy93您需要保存对变量表单中任何表单的引用。您需要
var form=document之类的内容。getElementById('yourFormId');
我明白了。所以没有通用的方法将其设置为allforms@Cindy93您可以命名函数并执行
document.getElementsByTagName('form')操作
然后循环浏览该列表,并将该函数附加到每个表单提交事件。我在回答中添加了一些代码。出现了类似这样的错误,
表单未定义。
。我不想使用
文档。表单名称
也可以。知道如何使其通用吗?@Cindy93您需要保存对表单中任何内容的引用变量形式。您需要像
var form=document.getElementById('yourFormId');
我明白了。所以没有通用的方法将其设置为allforms@Cindy93您可以命名函数并执行
document.getElementsByTagName('form')操作;
然后循环浏览该列表并将函数附加到每个表单提交事件。我在回答中添加了一些代码。这一个
表单。onsubmit=function()
原因错误表单未定义这一个
表单。onsubmit=function()
原因错误表单未定义
$('form').submit(function() {
     $('input').each(function(){
        if($(this).val() == ''){
           $(this).remove();
        }
     });
});
<form name="FOOO">
    <input type="text" name="firsttt"   value="blabla">
    <tEXtarea> aaa</tEXtarea>
    <input type="text" name="Secondssssss"   value="blabla2">
    <input type="submit" onclick="return MyValidator('FOOO');">
</form>

<script type="text/javascript">
function MyValidator(FORMNAMEE){
    var inputs = document.forms[FORMNAMEE].getElementsByTagName("input");
    for(var i = 0; i < inputs.length; i++)    {
        alert(inputs[i].value);
    }
    var textareas = document.forms[FORMNAMEE].getElementsByTagName("textarea");
    for(var i = 0; i < textareas.length; i++)    {
        alert(textareas[i].value);
    }
}
</script>