表单提交事件上的ajax POST无法正常工作

时间:2013-09-18 17:03:51

标签: javascript php ajax forms

我有ajax帖子与表单提交事件的问题。我有由opentable.php生成的表

此处为opentable.php的代码

<?php
session_start();
require("dbc.php");
$memberid = $_SESSION['memberid'];
$sql = "SELECT * FROM `open` WHERE `memberid`='$memberid'";
$mydata = mysql_query($sql);

echo "<table><tr><th>Time</th><th>Type</th><th>Size</th><th>Price</th><th>Profit</th><th></th><th></th></tr>";
while($record = mysql_fetch_array($mydata)){
    echo "<form action = assets/close.php id=closeform>";
    echo "<tr>";
    echo "<td>" . $record['opendate'] . "</td>";
    echo "<td>" . $record['type'] . "</td>";
    echo "<td>" . $record['size'] . "</td>";
    echo "<td>" . $record['openprice'] . "</td>";
    echo "<td>" . $record['profit'] . "</td>";
    echo "<td>"."<input type=hidden name=openid value=".$record['openid']." </td>";
    echo "<td>" . "<input type=submit name=close value=close". " </td>";
    //echo "</tr>";
    echo "</form>";
    }
echo "</table>";


?>

和ajax javasript for submit event trade.js

 $(document).ready(function() {
$('#closeform').submit(function( event ) {
            event.preventDefault();
            var $form = $( this ),
            price = $('#price').val(),
            id = $form.find( "input[name='openid']" ).val(),
            url = $form.attr( "action" );
            var posting = $.post( url, { openid: id, closeprice: price } );
            var r=confirm("Are you sure?");
            if(r =true){
                posting.done(function( data ) {
                    alert(data);
                    });
                }
            else
              {
              alert("Transaction canceled")
              }

        });
}

我测试了它,它运行像普通的PHP形式。和错误没有传递$ _POST数据。 请给我这个活动的推荐感谢。

1 个答案:

答案 0 :(得分:1)

closeform是动态添加的表单,请尝试使用.on()

$(document).on('submit', '#closeform', function ( event ) {