将js变量用于将在php查询中使用的html表单

时间:2017-02-02 21:00:57

标签: javascript php jquery html mysql

我有index.php页面,其中数据从数据库中提取并显示为简单表格(可以使用我的js脚本选择每一行)。

enter image description here

我有js脚本执行所有选择并将表中的ID号存储到js变量中。

$(function() {

/* Get all rows from table but not the first one 
 * that includes headers. */
var rows = $('tr').not(':first');

/* Create 'click' event handler for rows */
rows.on('click', function(e) {

    /* Get current row */
        var row = $(this);

    /* highlights the row*/ 
        rows.removeClass('highlight');
        row.addClass('highlight');

    /*outputs the ID of the selected row to rowID variable*/
        var currentRow=$(this).closest("tr");
        var col1=currentRow.find("td:eq(0)").html();
        var rowID=col1;


  });

});

我有另一个dbUpdate.php脚本,它有html格式和php查询。

 if( !$_POST["e1"] ){

    $e1Error = "Please enter value <br>";
} else {    
    $e1 = validateFormData ( $_POST["e1"] );
}

if( !$_POST["rowID"] ){

    $rowID = validateFormData ( $_POST["rowID"] );
}

// check variable has data
if( $e1 && $rowID ) {
    $query = "UPDATE athletes SET e1 = ($e1) WHERE id = ($rowID) ";

这是html表单

<form action="<?php echo htmlspecialchars( $_SERVER["PHP_SELF"] ); ?>" method="post">
            <small class="text-danger">* <?php echo $e1Error; ?></small>
            <input type="text" placeholder="e1" name="e1"><br><br>
            <input type="hidden" id="rowID1" name="rowID" value=""/>

我的目标是从js变量rowID获取该ID号,并在我选择html表中的一行(如图所示)时将其存储在我的dbUpdate.php格式(name =“rowID”)中。 / p>

1 个答案:

答案 0 :(得分:0)

这是一个ajax示例(使用jQuery语法,因为它就像你正在使用的那样):

        rows.on('click', function(e) {
            $.ajax({
                url: '/dbUpdate.php',
                type: 'POST',
                data: { rowID: $(rowID).val() },
                cache: true,
                success: function (data) {
                    alert('Woot!');
                }
                , error: function (xhr, ajaxOptions, thrownError) { alert(thrownError); }
            });
        });

现在,显然,这只会将回报拉回到你的成功函数中。如果你想让你的dbUpdate.php页面将html返回给客户端,那就是另一回事了。你准备做什么,确切地说?