0

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エラーを与える->キャッチされていないエラー:構文エラー、認識されない式:);'))

ありがとう

4

2 に答える 2

2

おそらくparents()関数がリストを返すと思いますが、代わりに次のようにしてみてください。

<a href="javascript://" onclick="$(this).closest("form").submit(); return false">
于 2012-05-02T17:35:51.270 に答える
0

for eachループの最後に、IDが一意になるように$i++を実行します

意味的に正しいWebページが必要な場合は、入力にIDを設定する必要があります。

たとえばjsonを使用してjqueryでコードを処理する場合は、コードの書き直しに関して、次のコードで何かを行うことができます。

$(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');


});

それがお役に立てば幸いです、そして私があなたと同じように考えているなら。

于 2012-05-02T17:42:13.577 に答える