2016-03-08 46 views
0

問題是:在更新db之前運行確認用戶請求。兩個選擇:使用submitfunc點擊我能夠運行js確認,獲取用戶選擇但在upload_db函數我無法捕捉到用戶輸入的值(它的textarea值) 如果我使用button type="submit...我可以得到textarea的值,但是我不知道如何運行確認並在更新數據庫之前獲取確認返回值。我怎樣才能解決這個問題?用戶在更新db之前確認db

<?php 
session_start(); 
// In case user press button_lookfor 
if (isset($_POST['button_lookfor'])) { 
    // I run sql select... 
} 
// In case user press button_update 
if (isset($_POST['button_update'])) { 
    //to update db i have to get value of textarea.Ok in this case 
    $sql_upd = "UPDATE db SET field_value ='" .$_POST['alpha_9_10']."'"; 
} 

function upload_db(){ 
    //I am not able to catch the value entered in textarea 
    if (isset($_POST['alpha_9_10'])) { 
     //.... 
    } 
} 
?> 
<html> 
<head> 
<script language="javascript" type="text/javascript"> 
function submitFunc(){ 
    var r = confirm("Press OK per confermare la modifica al database!"); 
    if (r == true) { 
     var x="<?php upload_db(); ?>"; 
     alert(x); 
     return false; 
    } 
} 
</script> 
</head> 
</style> 
<body> 

<form method="post" action="" > 
<table class='table1' id="pos_table1" > 
    <tr><td><textarea name="alpha_9_10"<textarea></td></tr> 
</table> 

<button type="submit" name="button_lookfor" >Look for data</button> 
<button type="submit name="button_update" >Save data</button> 
<!--<button type="button" onClick="submitFunc();"name="button_update">Save</button>--> 

</body> 
</form> 
</html> 
+0

請格式化您的代碼,但我會說先修復您的textarea標記。 – WheatBeak

+1

問題是你正在嘗試使用php來捕捉textarea的值,但是直到你提交表單之前,php代碼纔會執行​​任何操作。 PHP是服務器端代碼。你想用textarea值做什麼?你可以通過javascript獲得價值。另外,正如WheatBeak所說,你的代碼有很多語法問題。 –

+1

PHP只在服務器上運行,JavaScript在瀏覽器中運行。你不能讓JavaScript來調用這樣的PHP函數。您可能需要學習AJAX – RiggsFolly

回答

0

您可以嘗試返回確認值(當用戶單擊按鈕時爲true或false)。只有用戶按下確定纔會提交表格。這看起來像這樣:

<?php 
session_start(); 
// In case user press button_lookfor 
if (isset($_POST['button_lookfor'])) { 
    // I run sql select... 
} 
// In case user press button_update 
if (isset($_POST['button_update'])) { 
    //to update db i have to get value of textarea.Ok in this case 
    $sql_upd = "UPDATE db SET field_value ='" .$_POST['alpha_9_10']."'"; 
} 

function upload_db(){ 
    //I am not able to catch the value entered in textarea 
    if (isset($_POST['alpha_9_10'])) { 
     //.... 
    } 
} 
?> 
<html> 
<head> 

</head> 
</style> 
<body> 

<form method="post" action="" > 
<table class='table1' id="pos_table1" > 
    <tr><td><textarea name="alpha_9_10"<textarea></td></tr> 
</table> 

<button type="submit onClick="return confirm('Press OK per confermare la modifica al database!')" name="button_update" >Save data</button> 


</body> 
</form> 
</html> 
+0

非常感謝您的回答!問題解決了 – Valgo54