PHP 表单列表


Php list of forms

我在 php 脚本中有以下一段代码

foreach( $results as $i => $value ){ ?>
    <li><form action="getDetail.php" id="detailForm<?= $i ?>" >
    <input name="application" value="myTemplate" type="hidden" />
    <input name="user" value=<?= $value->publisherID ?> type="hidden" />
    <a href="javascript:document.getElementById('detailForm<?= $i ?>').submit();" >
    <div class="row" style="padding-left: 10px;"><?= $value->publisherName ?></div>
    </a></form></li>
<?php }

它正在工作,但我想知道如何把它放得更好

删除所有表单 ID并放一些更通用的东西,例如

<a href="javascript:$(this).parents('form').submit();" >

哪个不起作用

也没有:

<a href="javascript:$('#detailForm<?= $i ?>').submit();" >

(给出这个 jquery 错误>未捕获的错误:语法错误,无法识别的表达式:);'))

谢谢

我认为 parents() 函数可能返回一个列表,请尝试这样做:

<a href="javascript://" onclick="$(this).closest("form").submit(); return false">

在每个循环结束时,我会做 $i++ 以便您的 id 是唯一的

如果你想有一个语义正确的网页,你需要在你的输入中有id。

关于重写代码,如果您希望jquery处理您的代码,例如使用json,您可以使用以下代码执行某些操作

$(document).ready(function() {
    $('.preloader<?php echo $i; ?>').html('<img src="ajax-loader.gif" />'); 
    $.post('post.php', $("#detailForm<?php echo $i; ?>").serialize(),
        function(data){
            $('#returnData<?php echo $i; ?>').html(data.returnData);
            console.log(data);
        },'json');

});

希望它有所帮助,如果我和你一样思考。