2015-02-09 34 views
3

我有一个表单,当单击提交按钮时需要将一个选择框输入到数据库中。Ajax没有发布到MYSQL或者在提交时显示成功/错误消息

问题我有:

我如何使它无需刷新页面自动更新。那么,如果在数据库中添加了选择,它会自动显示在选择选项中?

更新的代码

$(document).ready(function(){ 
$('#submitbut').click(function(e){ 

     var updateid = $("#updateid").val(); 

      if(updateid.length == 0){ 
      $("#success").text("make a selection."); 
      $("updateid").focus(); 
     } 
    else{ 

     var dataString = 'updateid='+ updateid 

     $.ajax({ 
      type:'POST', 
      url:'test.php', 
      data: {updateid:dataString} 
     }).done(function(){ 
      $('#success').text('success!'); 
     }); 
    } 
     e.preventDefault(); 
     });  
}); 

回答

1

页面提交的原因是因为你有一些语法错误。我会以随机顺序回答你的观点。

要解决您的验证问题,您应该检查是否有值。不是检查值,而是检查文本节点。

您使用

if(updateid == "--") 

<option>标签的值是空的。您应该使用此代替:

if(updateid.length == 0) 

对于AJAX,我喜欢使用done()函数。我简化了您的演示代码,但它看起来是这样的:

$.ajax().done(function(){ 
    $('#success').text('success!'); 
}); 

你也有这样的不帮你回报2虚假陈述。防止表单提交的正确方法是preventDefault(),您可以在下面找到它,但由于您的错误,它没有被调用。

另一件有用的事情是使用<input type="button">。这样,表单将永远不会提交。

Here is a demo of your code with working validation and AJAX

+0

文本/的javascrip,为text/html,显示所有,而你做一个AJAX请求 – abcdefghijklmnop 2015-02-10 02:31:32

+0

有窗口打开正确的文件。 PHP文件应该出现。点击它,它应该显示你的输出 – 2015-02-10 02:33:30

+0

“请求没有预览可用” – abcdefghijklmnop 2015-02-10 02:36:04

0
  1. JS不禁止的形式默认行为。你必须从提交按钮中删除type =“submit”。

也许使用$('#submitbut').attr('type', '');

  • 默认停用按钮,并检查在选择框的变化

    $( '#选择框')。的onChange(如果($(this).val()!='') $('#submitbut')。removeAttr(“disabled”,“disabled”); else $('#submitbut') .attr('disabled','disabled'); });

  • 将ajax调用到getoptions.php,您可以从db中检索所有选项,并将它们与select中的选项进行比较。