关于通过返回获取输入文本值的问题

时间:2014-09-17 05:04:10

标签: javascript jquery

请你看看this Demo并告诉我为什么会这样做

  

[object HTMLInputElement]

返回nameInput()函数:

$(function () {
    var proceed = true;

    function nameInput(inputData) {
        inputData = $.trim($('input[type="text"]').val());
       if (inputData == "") {
         alert('Field Can Not be Empty');
        }
        else{
            return inputData;
        }
    }

    $("#pro").on("click", function (e) {
        if (nameInput(fname)){
            alert("The Field is Valid and Value is "+ fname);
        }
        e.preventDefault();
    });
});

6 个答案:

答案 0 :(得分:2)

Live demo

fname是一个对象,您需要访问其值

因此,请更换:

alert("The Field is Valid and Value is "+ fname);

通过

alert("The Field is Valid and Value is "+ fname.value);

答案 1 :(得分:0)

$("#pro").on("click", function (e) {
    var fname = $('#fname').val();
    if (nameInput(fname)){
        alert("The Field is Valid and Value is "+ fname);
    }
    e.preventDefault();
});

alert("The Field is Valid and Value is "+ fname.value);

答案 2 :(得分:0)

您的函数不应接受参数,只能返回文本框的返回值。

$("#pro").on("click", function (e) {
    var value = nameInput();
    if (value){
        alert("The Field is Valid and Value is "+ value);
    }
    e.preventDefault();
});

功能:

function nameInput() {
    inputData = $.trim($('input[type="text"]').val());
   if (inputData == "") {
     alert('Field Can Not be Empty');
       return false;
    }
    else{
        return inputData;
    }
}

DEMO

答案 3 :(得分:0)

如果该值无效,则必须返回false,表示它无效。

$(function () {
    var proceed = true;

    function nameInput(input) {
        var inputData = $.trim($('#' + input).val());
        if (inputData == "") {
            alert('Field Can Not be Empty');
            return false;
        } else {
            return inputData;
        }
    }

    $("#pro").on("click", function (e) {
        var fname = nameInput('fname');
        if (fname !== false) {
            alert("The Field is Valid and Value is " + fname);
        }
        e.preventDefault();
    });


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form>First Name:
    <input type="text" name="fname" id="fname" />
    <input type="submit" value="Submit" id="pro" />
</form>
<div id="error"></div>

答案 4 :(得分:0)

nameInput()函数你有更新函数参数inputData,输入selector值..在这种情况下函数返回参考指定的值.. 正如您在alert()中使用函数参数一样 你应该使用函数返回值,见下文

$(function () {
    var proceed = true;

    function nameInput(inputData) {
        inputData = $.trim($('input[type="text"]').val());
       if (inputData == "") {
         alert('Field Can Not be Empty');
        }
        else{
            return inputData;
        }
    }

    $("#pro").on("click", function (e) {
        var rfname = nameInput(fname);
        if (rfname){
            alert("The Field is Valid and Value is "+ rfname);
        }
        e.preventDefault();
    });
});

Demo

答案 5 :(得分:0)

使用以下代码

`$(function(){     var proceed = true;

function nameInput() {
    inputData = $.trim($('input[type="text"]').val());
   if (inputData == "") {
     alert('Field Can Not be Empty');
    }
    else{
        return inputData;
    }
}

$("#pro").on("click", function (e) {
    var temp= nameInput();
    if (temp.length>0){
        alert("The Field is Valid and Value is "+temp);
    }
    e.preventDefault();
});

});`