重定向到jquery验证过程的新页面

时间:2013-11-19 17:04:19

标签: php jquery ajax

我有一个类似

的jquery
$(document).ready(function() {
    $('#value').change(function() {
        $.ajax({
            type:'POST',
            url:'../validation.php',
            data: {
                validate_year:$('#Year').val(),
                validate_value:$('#value').val(),
                validate_domain:$('#Domain').val(),
            },
            success: function (data) {

            }
        })
    });
});

validation.php中我有一个sql语句,它基本上使用Yearvaluedomain中的任何内容,然后运行一个select语句,然后结果呈现为使用表validation.php中的echo $something在同一<tr>中的表格。我想要做的是向用户显示validation.php,以便可以看到此表...因为他们可以对其进行更改,例如更新和删除。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

可以尝试这样的事情

$(document).on('change', '#value', function() {
    $.post('/validation.php', {validate_year:$("#Year").val(), 
         validate_value:$("#value").val(), 
         validate_domain$("#Domain").val()}, function(data) {
       //Take the output of validation.php and put them into a class or id target
       $(".target-area").html(data);
  }
});

基本上发生的事情是$ .post函数正在触及您指定的URL,在本例中为validation.php。我猜你正在尝试将某些内容返回到javascript文件中,该文件指示某些内容是否有效。例如,

//valiation.php
<?php
$validate_year = $_POST['validate_year'];
$validate_value = $_POST['validate_value'];
$validate_domain = $_POST['validate_domain'];

//Do something here to determine if it is valid or not

//If the result is $valid in this pseudo code example
if($valid) {
   echo 'true';
} else {
   echo 'false';
}

在此示例中,PHP脚本根据您对发布变量对数据库,预期结果等所做的检查返回值true或false,在这种情况下,它返回为{{ 1}} javascript中的变量。

所以如果你这样做了,

data

您会看到我编写的validation.php文件中的$(document).on('change', '#value', function() { $.post('/validation.php', {validate_year:$("#Year").val(), validate_value:$("#value").val(), validate_domain$("#Domain").val()}, function(data) { //Take the output of validation.php and log it to the console console.log(data); } }); true结果。您可能希望返回一些内容以通知用户验证是否失败或成功。所以为了扩展这个,假设你的页面设置有这样的div

false

您的javscript会解释来自validation.php的响应,并向用户输出内容......就像这样

<div id="validation-result"></div>

您页面上的最终结果将如此真实

   $(document).on('change', '#value', function() {
            $.post('/validation.php', {validate_year:$("#Year").val(), 
                 validate_value:$("#value").val(), 
                 validate_domain$("#Domain").val()}, function(data) {
               //Take the output of validation.php, parse it and update the page
               if(data == 'true') {
                  var content = "Your validation succeeded";
               } else {
                  var content ="Your validation failed";
               }
               $("#validation-result").html(content);
          }
        });

或者这是假的

<div id="validation-result">Your validation succeeded</div>

希望能帮助你解决一些问题