文本框有数据时执行代码

时间:2014-02-27 10:22:42

标签: javascript php jquery ajax textbox

我有一个项目,我必须计算两点之间的共同点。一旦用户在街道,省和城市的三个文本框中输入,就计算出第一个共同参数。

如果用户填写所有三个框而不是之前,我怎样才能执行PHP中的代码?

<form name="form" action="" method="post">
    <input type="text" name="provincia" id="provincia">
    <input type="text" name="municipio" id="municipio">
    <input type="text" name="calle" id="calle">
    <input type="submit" value="&#161;Buscar!"/>
</form>

这是用户必须填写的表单。一旦用户写入所有三个(无需订单)我有PHP代码我不确定它是否可以执行这些框有值。

我应该用什么来完成这项工作?阿贾克斯? jQuery的?的Javascript?

不太确定,

感谢。

5 个答案:

答案 0 :(得分:1)

你正在寻找这个吗?

 $(document).ready(function () {
        var flag = false;
        $("input[type=text]").change(function () {
            flag = true;
            $("input[type=text]").each(function () {
                if ($(this).val().trim() == "") {
                    flag = false;
                }
            });
            if (flag) {
                alert("all have values");
                $("input[type=submit]").trigger("click");
            }
          alert(values);
        });


    });

修改

<form name="form" action="" method="post">
<input type="text" class="tobeChecked" name="provincia" id="provincia">
<input type="text" class="tobeChecked" name="municipio" id="municipio">
<input type="text" class="tobeChecked" name="calle" id="calle">
<input type="submit" value="&#161;Buscar!"/>
</form>

$(document).ready(function () {
        var flag = false;
        $(".tobeChecked").change(function () {
            var values = "";
            flag = true;
            $(".tobeChecked").each(function () {
                values += $(this).val().trim() + "+";
                if ($(this).val().trim() == "") {
                    flag = false;
                }
            });
            if (flag) {
                alert("all have values");
                $("input[type=submit]").trigger("click");
            }
        });

    });

答案 1 :(得分:0)

创建一个函数来验证这三个文本框的必填字段,一旦所有字段都填充了值,执行你的脚本:

$('#provincia,#municipio,#calle').blur(function(){

            if($('#provincia').val() !="" && $('#municipio').val() !="" && $('#calle').val() !=""){
               // Do your process here
            }
            });

答案 2 :(得分:0)

您可以使用jquery validate插件来验证客户端本身的这3个输入字段。这样,用户无法在完全填充输入字段之前提交表单。

答案 3 :(得分:0)

为您的按钮添加如下ID:

 <input type="submit" id="button" value="&#161;Buscar!"/>

然后你可以在JQuery中执行此操作:

$("#button").click(function(){

    //Get the value of the fields
    var textfield1 = document.getElementById("provincia").value;
    var textfield2 = document.getElementById("municipio").value;
    var textfield3 = document.getElementById("calle").value;

    //Check if Values are filled
    if ( !textfield1.match(/\S/) || !textfield2.match(/\S/) || !textfield3.match(/\S/))
        {
           //execute your script

        }

我希望它有所帮助。

答案 4 :(得分:0)

使用jquery .change()功能

$( "#provincia" ).change(function() {

   //you  can do something here

   alert( "Handler for .change() called." );
});