2010-07-12 101 views
0

今天我被卡住了,一直在寻找堆栈溢出和谷歌,但是havnt在实现我见过的解决方案时运气很好。我有一个表单,我试图创建,当我点击提交时,在表单中没有信息时,它会提示错误(它没有验证),但是当一切正确填写后,提交按钮不再有效。jQuery提交表格

<script src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript" src="js/jquery.delegate.js"></script> 
<script type="text/javascript" src="js/jquery.validate.js"></script> 
<script type="text/javascript"> 
jQuery.validator.setDefaults({ 
debug: true, 
success: "valid" 
});; 
</script> 

    <script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#q0").validate({ 
    rules: { 
    date1: { 
    required: true, 
    digits: true, 
    rangelength: [4, 4], 
    min: 2010, 
    max: 2015 
    }, 
    date2: { 
    required: true, 
    digits: true, 
    rangelength: [2, 2], 
    max: 12 
    }, 
    date3: { 
    required: true, 
    digits: true, 
    rangelength: [2, 2], 
    max: 31 
    }, 
    date4: { 
    required: true, 
    digits: true, 
    rangelength: [2, 2], 
    max: 23 
    }, 
    date5: { 
    required: true, 
    digits: true, 
    rangelength: [2, 2], 
    max: 59 
    } 
} 
}); 
    }); 
    </script> 

接下来我们有如下形式:

<h1>Select User</h1> 
    <form action="q1.php" method="post" id="q0"><br /><br /> 

<?php 

$con = mysql_connect("localhost","",""); 
if (!$con) 
    { 
    die('PWND: ' . mysql_error()); 
    } 

       mysql_select_db("questionnaire"); 


    $sql = "SELECT id, fname, lname 
     FROM User"; 

       $result = mysql_query($sql); 
    echo '<select name="User" type="number">'; 
       while ($row = mysql_fetch_assoc($result)) 
       { 
        echo '<option value="'.$row['id'].'">'.$row['fname'].' '.$row['lname'].'</option>'; 
       } 
    echo '</select>'; 
mysql_close($con) 
?><br /><br /> 
<p> 
<h4>Date and Time</h4> 

    <label for="date1">Year (YYYY): </label> 
    <input class="left" id="date1" name="date1" /> 
    <br/> 
    <label for="date2">Month (MM): </label> 
    <input class="left" id="date2" name="date2" /> 
    <br/> 
    <label for="date3">Day (DD): </label> 
    <input class="left" id="date3" name="date3" /> 
    <br/> 
    <label for="date4">Hour (HH): </label> 
    <input class="left" id="date4" name="date4" /> 
    <br/> 
    <label for="date5">Minute (MM): </label> 
    <input class="left" id="date5" name="date5" /> 
    <br/> 
</p> 
<h4>Test</h4> 
<select name="qtype" type="number"> 
<option value="1">0</option> 
<option value="2">8</option> 
<option value="3">1</option> 
<option value="4">2</option> 
<option value="5">3</option> 
<option value="6">4</option> 
<option value="7">5</option> 
</select><br /></p> 
<input type="submit" value="Submit"/> 
</form> 

基本上我想它发布到下一个页面,像以前一样,但因为我试图jQuery的提交按钮已停止工作,似乎就像验证一样。

我一直在寻找: http://docs.jquery.com/Plugins/Validation(这是我得到这个去的主要资源)。 jQuery disable button (NOT Submit) until field validates + Validation Plugin Help understanding jQuery button enable/disable code

但是我似乎仍然被卡住,不知道我搞砸了上面的某个地方的代码。提交按钮保持打破。

回答

3

这是debug option已设置:

debug: true, 

只需删除选项,或将其设置为false,它可以防止提交进行测试,以获得一个提交要经过你需要改变它,从the docs

防止表单提交并尝试帮助设置验证,并提供有关缺少方法和其他调试消息的警告。

+0

谢谢!这解决了我的问题! – imbadatjquery 2010-07-12 23:39:08