Php,Javascript - 动态表单ID和动态验证

时间:2012-08-29 23:12:55

标签: php javascript forms validation dynamic

我的javascript编程技巧很少,所以这一定是它的问题。我的问题并不是那么复杂,但我无法找到答案,我几乎尝试了所有内容,但正如我所说,我在javascript编程方面感到茫然。

我的问题是,我有一个php页面,在这个页面上有多个由mysql查询生成的表单。我用它们将动态生成的隐藏字段值发布到另一个php文件中,在该文件中我可以使用它们的post值而不刷新主页面。表单id(或名称)也是由mysql查询生成的。我使用javascript验证(?)表单并将其隐藏的内容发送到另一个页面。

使用Javascript:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
        $("#1").validate({
            debug: false,
            submitHandler: function(form) {
                $.post('process_like_dislike.php', $("#1").serialize(), function(data) {
                    $('#results').html(data);
                });
            }
            });
    });
    </script>

正如您所看到的,在这种情况下,表单ID是1.我在一个页面上生成了近40个唯一表单,它取决于mysql查询。

腓:

<form name='$formnumber' id='$formnumber' action='' method='POST'>
<input type=hidden value='$us_id' name='us_id' id='us_id'>
<input type=hidden value='$an_id' name='an_id' id='an_id'>
<input type=hidden value='1' name='on' id='on'>
<input type=submit class=something value='' title='Something'>
</form>

我不知道如何制作javascript代码以在提交时动态验证所选表单。我试图在javascript中获取php formnumber变量,但这并没有帮助。我不知道是否有其他办法,但我只知道这一个。我需要将动态生成的隐藏值传递给另一个页面,但我需要一个动态生成的javascript,或者我不知道。

这个代码的主要概念,我创建了一个页面,你可以对一个东西进行评级,那个东西有隐藏的值,我需要以post格式获得,因为这是我可以决定哪个按钮有的唯一方法被迫在第二个php文件中执行mysql查询而不刷新当前的查询。我不想要简单的帖子,因为我会丢失上一页,而且我不想刷新页面。

请帮帮我,谢谢你们。

2 个答案:

答案 0 :(得分:0)

@Michael Wheeler的解决方案比我最初提出的解决方案更优雅 - 但是,'this'没有设置为表格(我测试过)所以你必须将他的解决方案更改为$(表格)其他$(“#1”)而不是$(this),它将完美无缺。 =)

答案 1 :(得分:-1)

您将从AJAX中受益匪浅: http://www.w3schools.com/ajax/default.asp 可能来自jquery,虽然我知道你没有提到它,但是为了简化你的AJAX问题: http://api.jquery.com/jQuery.ajax/