0

私は前に簡単なフォームを持っています:

<form method="post" action="firstbillsubmitbal.php?id=#COL1#"> 
    <input name="currentbal" type="text" id="currentbal" class="input-mini"  /> 
    <input type="submit" id="submit" value="Save" class="btn btn-success" />
</form>

firstbillsubmitbal.phpを処理するためにこのページを呼び出す

$dealID = $_GET["id"]; 
$currentbal = mysql_real_escape_string(stripslashes($_POST['currentbal']));
$sql = mysql_query("UPDATE deals SET 
        currentbal = '$currentbal',
        currentbalDone = 'Yes'
        WHERE deals.dealID = '$dealID'") or die (mysql_error());

単一のトランザクションでは正常に機能していました。ただし、現在テーブルにデータを表示しているので、少し編集する必要があります。行ごとにテーブルのbtnをクリックし、row_idとcurrentbal calueを渡すと、このjsコードができました。動作しましたが、このjsコードからフォームを処理する方法を知りたいですか?

function funcEdit(row_id){  
var currentbal = document.getElementById('currentbal' + row_id).value;
    var r=confirm("Are You Sure You Want To Proceed?");
    if(r==true) {
        alert("Record is saved");
    } else {
        alert("Cancelling Transaction");
    }   
}

jsコードには、現時点では2つの変数しかありません。

row_id=これは基本的にdb行のIDであり、 currentbal=これはデータベースにアップロードしたい値です

私の質問は基本的に、POSTを使用しなくなったため、firstbillsubmitbal.phpファイルを呼び出す方法と、phpファイルを編集してrow_idとデータベースにアップロードする方法です。currentbal


返信ありがとうございます。だから私はグーグルで見つけたいくつかのSOの答えといくつかのチュートリアルを通り抜けました、そしてこれは私のjsコードに起こったことです。

function funcEdit(row_id){  
var currentbal = document.getElementById('currentbal' + row_id).value;
var dealID = row_id;
//organize the data properly
var data = 'currentbal=' + currentbal.val() + '&dealID=' + dealID.val();

    //start the ajax
    $.ajax({
        url: "firstbillsubmitbal.php",  
        type: "GET",
        data: data,     
        cache: false,
        success: function() {  
        $('#message').html("<h2>Current balance has been updated!</h2>") 
        } 

    });             
}

そして、これは私のfirstbillsubmitbal.phpページに起こったことです

$dealID = $_GET['dealID'] 
$currentbal = $_GET['currentbal']

$sql = mysql_query("UPDATE deals SET 
        currentbal = '$currentbal',
        currentbalDone = 'Yes'
        WHERE deals.dealID = '$dealID' LIMIT 1") or die (mysql_error());

しかし、ボタンをクリックして関数を呼び出しても何も起こりません。私は何が欠けていますか?

また、これが私の関数の呼び出し方法です。#COL1#は私の行ID値です。

<a href="javascript: funcEdit(#COL1#);" class="btn btn-success">Update</a>
4

2 に答える 2

2

関数は row_id データで正しく呼び出されていますか?
もしそうなら、これはあなたにトリックを与えるかもしれません、

function funcEdit(row_id){  
var currentbal = document.getElementById('currentbal' + row_id).value;
var dealID = row_id;
    //start the ajax
    $.ajax({
        url: "firstbillsubmitbal.php",  
        type: "GET",
          //pass data like this 
        data: {currentbal:currentbal.val(),dealID: dealID.val()},    
        cache: false,
        success: function(data) {  
        if (data=="1")
        $('#message').html("<h2>Current balance has been updated!</h2>") 
        } 

    });             
}

そしてphpファイルで

$dealID = $_GET['dealID'] 
$currentbal = $_GET['currentbal']

$sql = mysql_query("UPDATE deals SET 
        currentbal = '$currentbal',
        currentbalDone = 'Yes'
        WHERE deals.dealID = '$dealID' LIMIT 1") or die (mysql_error());

echo "1" ; // if update successful
else echo "0" // if update unsuccessful
于 2013-01-31T03:56:24.477 に答える
0

HTML :

<form method="post" action="firstbillsubmitbal.php"> 
    <input name="currentbal" type="text" id="currentbal" class="input-mini"  />
    <a href="#" onclick="funcEdit(#COL1#); return false;" class="btn btn-success">Update</a>
</form>

JS:

function funcEdit(row_id){  

    var currentbal = $("#currentbal").val();

    //organize the data properly
    var data = 'currentbal=' + currentbal + '&dealID=' + row_id;

    //start the ajax
    $.ajax({
        url: "firstbillsubmitbal.php",  
        type: "GET",
        data: data,     
        cache: false,
        success: function() {  
            $('#message').html("<h2>Current balance has been updated!</h2>") 
        } 

    });             
}

それがあなたのために働くことを願っています!

于 2013-01-31T04:02:29.423 に答える