Javascript 仅在所有以前的函数返回false时启动函数

Javascript 仅在所有以前的函数返回false时启动函数,javascript,html,Javascript,Html,我是javascripts新手,所以如果这看起来很明显,请原谅我,但是如果前面函数操作的所有条件都返回false,我想启动第二个函数oly function validateForm() { var file = document.getElementById('file'); if (file.files[0].size >= 11000000) { alert('File too Big'); return false;

我是javascripts新手,所以如果这看起来很明显,请原谅我,但是如果前面函数操作的所有条件都返回false,我想启动第二个函数oly

function validateForm()
{
    var file = document.getElementById('file');
        if (file.files[0].size >= 11000000) {

        alert('File too Big');
        return false;
    }

    var x=document.forms["myForm"]["title"].value;
         if (x==null || x==""){

        alert("First name must be filled out");
        return false;
    }

    // if both returned false then start this function:

    function start_Uploading(){
        document.getElementById('message').innerHTML = 'Loading...';

       return true;
    }
html:

<input type='submit'  onclick="return validateForm();">

一个函数只能返回一次,因此必须返回一个二进制和一个假值:

function validateForm()
{
    var condition1;
    var condition2;

    if(...) condition1 = false;
    if(...) condition2 = false;

    return (condition1 && condition2);
}
这是在validateForm返回false时启动函数的方式:

if(!validateForm())
{
     // Execute your function
     start_Uploading();
}

函数只能返回一次,因此必须返回一个二进制和一个假值:

function validateForm()
{
    var condition1;
    var condition2;

    if(...) condition1 = false;
    if(...) condition2 = false;

    return (condition1 && condition2);
}
这是在validateForm返回false时启动函数的方式:

if(!validateForm())
{
     // Execute your function
     start_Uploading();
}

返回值结束函数调用。您只需要设置一个变量来查看输入是否有效。然后,您可以检查isValid是否为true,并从那里调用您的函数

同样值得注意的是,在您的原始代码中

function start_Uploading(){...}
实际上并没有运行函数,它只是定义了它。您需要
start\u upload()
来执行该函数

function validateForm()
{
    var isValid = true;
    var file = document.getElementById('file');
    if (file.files[0].size >= 11000000) {
        alert('File too Big');
        isValid=false;
    }

    var x=document.forms["myForm"]["title"].value;
    if (x==null || x==""){
        alert("First name must be filled out");
        isValid=false;
    }

    // if both returned false then start this function:

    function start_Uploading(){
        document.getElementById('message').innerHTML = 'Loading...';
        return true;
    }
    if(isValid){
        start_Uploading();
    }
}

返回值结束函数调用。您只需要设置一个变量来查看输入是否有效。然后,您可以检查isValid是否为true,并从那里调用您的函数

同样值得注意的是,在您的原始代码中

function start_Uploading(){...}
实际上并没有运行函数,它只是定义了它。您需要
start\u upload()
来执行该函数

function validateForm()
{
    var isValid = true;
    var file = document.getElementById('file');
    if (file.files[0].size >= 11000000) {
        alert('File too Big');
        isValid=false;
    }

    var x=document.forms["myForm"]["title"].value;
    if (x==null || x==""){
        alert("First name must be filled out");
        isValid=false;
    }

    // if both returned false then start this function:

    function start_Uploading(){
        document.getElementById('message').innerHTML = 'Loading...';
        return true;
    }
    if(isValid){
        start_Uploading();
    }
}

调用此函数,它将检查第一个函数和第二个函数值,如果返回false,则start_upload()函数将执行:

function sampleFunction() {
                if(!firstFunction() && !secondFunction()){
                    start_Uploading();
                } 
            }

调用此函数,它将检查第一个函数和第二个函数值,如果返回false,则start_upload()函数将执行:

function sampleFunction() {
                if(!firstFunction() && !secondFunction()){
                    start_Uploading();
                } 
            }
以jQuery的方式:

<script type="text/javascript">
$("#myForm").submit(function() {
    if ($("#file")[0].files[0].size >= 11000000) {
        alert('File too Big');
        return false;
    }

    if ($("#myForm input[name=title]").attr("value") == ""){
        alert("First name must be filled out");
        return false;
    }

    $('#message').html('Loading...');
    return true;
})
</script>
<form id="myForm">
    <input type='submit'>
</form>

$(“#myForm”).submit(函数(){
如果($(“#文件”)[0]。文件[0]。大小>=11000000){
警报(“文件太大”);
返回false;
}
if($(“#myForm input[name=title]”).attr(“value”)==“”){
警告(“必须填写姓名”);
返回false;
}
$('#message').html('Loading…');
返回true;
})
以jQuery的方式:

<script type="text/javascript">
$("#myForm").submit(function() {
    if ($("#file")[0].files[0].size >= 11000000) {
        alert('File too Big');
        return false;
    }

    if ($("#myForm input[name=title]").attr("value") == ""){
        alert("First name must be filled out");
        return false;
    }

    $('#message').html('Loading...');
    return true;
})
</script>
<form id="myForm">
    <input type='submit'>
</form>

$(“#myForm”).submit(函数(){
如果($(“#文件”)[0]。文件[0]。大小>=11000000){
警报(“文件太大”);
返回false;
}
if($(“#myForm input[name=title]”).attr(“value”)==“”){
警告(“必须填写姓名”);
返回false;
}
$('#message').html('Loading…');
返回true;
})

请正确缩进您的代码,它是不可读的。如果两者都返回false?你的两个验证块?你的{}不匹配,所以我不确定你的代码实际上是什么样子。请把它清理干净,重新对齐支架,以便我们知道发生了什么。谢谢当表单验证失败时,您为什么要执行上载操作?不可能同时执行两个返回语句。请正确缩进您的代码,因为它不可读。如果两个返回的语句都为false?你的两个验证块?你的{}不匹配,所以我不确定你的代码实际上是什么样子。请把它清理干净,重新对齐支架,以便我们知道发生了什么。谢谢当表单验证失败时,您为什么要执行上载操作?不可能同时执行两个返回语句。问题没有用jQuery标记,他也没有提到使用它。我知道,但编写代码更简单、更快。我认为他开始使用jQuery是个好主意。这个问题没有用jQuery标记,他也没有提到使用它。我知道,但是编写代码更简单、更快。我认为他开始使用jQuery是个好主意。