2012-09-11 54 views
0

嗨我試圖將參數傳遞給一個javascript函數getConfirmation(),我的代碼如下。函數調用根本不被執行。所以我想我錯了調用它。請幫忙。使用html格式的參數調用javascript函數

<html> 
<head> 
<script type="text/javascript"> 
<!-- 
function getConfirmation(var value1) 
{ 

    var retVal = confirm("Pop Code:" + value1 + "\n" + "Amount:" + "" + "\n" + "Updated Balance:" + "" + "\nPlease confirm!"); 
    if(retVal == true) 
    { 
     alert("User wants to continue!"); 
     return true; 
    }else{ 
     alert("User does not want to continue!"); 
     return false; 
    } 
} 
//--> 
</script> 
<body> 
<div align="center" style="width:100%; margin: 0px auto;"> 

<div align="center" style="width:100%; margin: 0px auto; background-color:f0f0f0"> 
<div id="child" style=" align="center" style="width:100%; margin:0px auto;" > 
<div style=" right:5%; top:5%; z-index: 100; position:absolute;"> 

</div> 
<img src = "images/header.png" width ="100%" /> 

</div> 
</div> 
<div align="center"> 
<?php 
require 'config.php'; 
mysql_connect ($dbhost, $dbusername, $dbuserpass); 
mysql_select_db($dbname) or die('Cannot select database'); 
$query = "SELECT * FROM cust_info;"; 
$result = mysql_query($query) or die(mysql_error()); 

echo "</br>"; 
echo "<table border='1'> 
<tr> 
<th>Pop Code</th> 
<th>Open_Date</th> 
<th>Maturity_Date</th> 
<th>Amount</th> 
<th>Balance</th> 
<th>Col Amount</th> 
</tr>"; 

while($row1 = mysql_fetch_array($result)) 
    { 
    if ($row1['status'] == 'DONE') 
    { 
    continue; 
    } 
    echo "<div class=\"addform\"><form method='post' action=\"txn.php\">\n"; 
    echo "<tr>"; 
    echo "<td><input type='hidden' name='pop_code' value='".$row1['pop_code']."'>" . $row1['pop_code'] . "</td>"; 
    echo "<td><input type='hidden' name='open_date' value='".$row1['open_date']."'>" . $row1['open_date'] . "</td>"; 
    echo "<td><input type='hidden' name='mat_date' value='".$row1['mat_date']."'>" . $row1['mat_date'] . "</td>"; 
    echo "<td><input type='hidden' name='depoamt' value='".$row1['depoamt']."'>" . $row1['depoamt'] . "</td>"; 
    echo "<td><input type='hidden' name='balance' value='".$row1['balance']."'>" . $row1['balance'] . "</td>"; 
    echo "<td>" . " <input type=\"text\" name=\"amount\"/>\n" . "</td>"; 
    //echo "<td>" . "<input type=\"button\" value=\"Make Entry\" onclick=\"getConfirmation();\"" . "</td>"; 
    echo "<td>" . " <input type=\"image\" src=\"images/update.png\" onclick=\"getConfirmation(".$row1['pop_code'].");\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n" . "</td>"; 
    echo "</tr>"; 
    echo "</form></div>"; 
    } 
echo "</table>"; 
?> 
<div align="center" style="width:100%; margin: 0px auto;"> 
<img src="images/footer.png" style="width:100%;"/> 
</div> 
</div> 
</body> 
</html> 

回答

2

它應該是:

function getConfirmation(value1){ 

和形式:

echo "<div class=\"addform\"><form method='post' action=\"txn.php\" onsubmit=\"return getConfirmation('".$row1['pop_code']."');\">"; 

,你可以獨自離開提交圖像而沒有任何的JavaScript調用。

最終代碼:

echo "<div class=\"addform\"><form method='post' action=\"txn.php\" onsubmit=\"return getConfirmation('".$row1['pop_code']."',this,'".$row1['balance']."');\">\n"; 
    echo "<tr>"; 
    echo "<td><input type='hidden' name='pop_code' value='".$row1['pop_code']."'>" . $row1['pop_code'] . "</td>"; 
    echo "<td><input type='hidden' name='open_date' value='".$row1['open_date']."'>" . $row1['open_date'] . "</td>"; 
    echo "<td><input type='hidden' name='mat_date' value='".$row1['mat_date']."'>" . $row1['mat_date'] . "</td>"; 
    echo "<td><input type='hidden' name='depoamt' value='".$row1['depoamt']."'>" . $row1['depoamt'] . "</td>"; 
    echo "<td><input type='hidden' name='balance' value='".$row1['balance']."'>" . $row1['balance'] . "</td>"; 
    echo "<td><input type=\"text\" name=\"amount\"/>\n</td>"; 
    echo "<td><input type=\"image\" src=\"images/update.png\" alt=\"Update Row\" class=\"update\" title=\"Update Row\">\n</td>"; 
    echo "</tr>"; 
    echo "</form></div>"; 

和javascript:

<script type="text/javascript"> 
<!-- 
function getConfirmation(value1,form,balance) 
{ 

    var retVal = confirm("Pop Code:" + value1 + "\n" + "Amount:" + form.amount.value + "\n" + "Updated Balance:" + balance + "\nPlease confirm!"); 
    if(retVal == true) 
    { 
     alert("User wants to continue!"); 
     return true; 
    }else{ 
     alert("User does not want to continue!"); 
     return false; 
    } 
} 
//--> 
</script> 
+0

工作!我在哪裏得到它返回的價值? – user1051505

+0

你是什麼意思? –

+1

我修改了代碼。再檢查一遍 –

0

嘗試改變

function getConfirmation(var value1) 

function getConfirmation(value1) 
0

您不能將var關鍵字用作函數參數。

試試這個

function getConfirmation(value1){ 

    //Your function 

} 
0

首先從您的按鈕代碼中調用該函數就這樣

echo "<td><input type="image" src="images/update.png" onclick="getConfirmation('".$row1['pop_code']."');" alt="Update Row" class="update" title="Update Row"></td>"; 

當我們定義函數參數沒有必要宣佈 變量使用var關鍵字在那之後替換您的javascript 函數聲明

<script type="text/javascript"> 
function getConfirmation(value1) 
{ 

    var retVal = confirm("Pop Code:" + value1 + "\n" + "Amount:" + "" + "\n" + "Updated Balance:" + "" + "\nPlease confirm!"); 
    if(retVal == true) 
    { 
     alert("User wants to continue!"); 
     return true; 
    }else{ 
     alert("User does not want to continue!"); 
     return false; 
    } 
} 

</script> 
0

我認爲有2個問題的代碼。

  1. 從功能
    function getConfirmation(value1)

  2. 的代碼取出varonclick=\"getConfirmation(".$row1['pop_code'].");\"將爲$ ROW1的整數值正確的代碼[ 'pop_code')即getConfirmation(10),但是,當該代碼是文本將是不正確的getConfirmation(測試)。所以你必須添加引號的值。
    ie onclick=\"getConfirmation('".$row1['pop_code']."');\"

相關問題