2013-04-14 57 views
0

我有一个表单,用于在允许输入新的数据之前检查作者是否在我的数据库(书店网站)上。Javascript/Ajax/PHP表单验证错误

这部分完美的作品和作者被发现,并通知给用户,但是当一个条目是好的提交就不会提交...

它只是什么都不做。下面的代码是检查器,然后下面是提交功能,这是不工作... 基本上,如果验证作者罚款,那么它应该提交,但目前它不是。我在网站上使用了另一种表单的类似方法,它可以工作,但这个页面上有多个表单,所以它可能是一个问题?

var author = $("#author"); 
var authortext = $("#authortext");   
var authorForm = $("#addauthor"); 

//Author Validation 
     function validateAuthor() 
     { 
      author.css('border', ''); 
      if (author.val().length == 0) 
      { 
       author.css('border', '2px solid red'); 
       authortext.text("Please enter an author."); 
       return false; 
      } 
      else 
      { 
       $.ajax({ 
        type: "POST", 
        url: "authorcheck.php", 
        data: 'author='+ author.val(), 

        //Stops the query being cached. 
        cache: false, 
        //The function when query accepted. 
        success: function(result) 
        { 
         if (result == 1) 
         { 
          author.css('border', '2px solid red'); 
          authortext.text("Author has been added already."); 
          return false; 
         } 
         else 
         { 
          authortext.text("Correct entry."); 
          return true; 
         } 
        } 
       }); 
      } 



     //Forms are submitted if no errors or blank values are found. The server side checks are still done later if the user has javascript disabled. 
     authorForm.submit(function() 
     { 
      if (validateAuthor()) 
      { 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     }); 
+0

是'author'和'authortext'全局变量? –

+0

对不起,他们高于此代码并定义为表单中的id标记。将编辑帖子。 – aaronjlaw

回答

0

使用data: { author: author.val(); }

+0

该行停止了其余的工作。 ajax检查器和验证工作只是在表单无误时才提交。 .submit()函数是不起作用的地方。 虽然谢谢! – aaronjlaw