-2
我遇到的問題是,當客戶端選擇不同的單選按鈕時,我試圖從畫布標籤更改圖像。如何動態更改JavaScript函數的內容?
畫布的內容與我從Illustrator獲得的繪製代碼(很多代碼)存儲在數據庫中。
我所做的第一件事是通過id來改變腳本標記中的數據,我在其中創建了繪製畫布的函數。
它運行良好,它正確繪製了繪圖。問題在於,當我選擇另一個單選按鈕時,即使腳本的內容發生更改並且該功能也如此,它將繪製相同的繪畫,而不是更新的繪畫。
我認爲發生這種情況是因爲JavaScript在已經調用過一次後沒有更新函數的內容。我錯了嗎?
如果是我遇到的問題,是否可以在調用函數後更改函數的內容?
這是html代碼:
<canvas id="myCanvasDel" height="600" width="600" style="max-width:600px;"></canvas>
<script id="scriptjs"></script>
這是JavaScript的一個,當我點擊單選按鈕:
function mostrarCanvas(codiprd, codicol) {
$.ajax({
dataType: "html",
type: "POST",
url: "ajaxcanvas.php",
data: {
codiprd: codiprd,
codicol: codicol
},
success: function (datos) {
$('#scriptjs').html(datos);
var canvasDel = document.getElementById("myCanvasDel");
var ctxDel = canvasDel.getContext("2d");
drawDel(ctxDel);
},
error: function (e) {
alert('Ha habido un error: ' + e);
}
});
return false;
}
這是PHP的AJAX文件調用:
$codiprd=$_POST['codiprd'];
$codicol=$_POST['codicol'];
$querycnv = "SELECT CANVAS "
. "FROM MYTABLE PC "
. "WHERE PC.CODIPRD=$codiprd AND PC.CODICOL=$codicol "
. "GROUP BY PC.CODIPRD,PC.CODICOL;";
$resultcnv = mysqli_query($conn, $querycnv)or die(mysqli_error());
$canvas = mysqli_fetch_array($resultcnv);
echo $canvas['CANVAS']);
不,「功能內容」不會改變。函數是根據源代碼執行某些操作的函數。一個函數可以帶*參數*,變量,你可以在代碼中使用它來影響它正在做什麼。 – deceze
#scriptsjs元素的含義是什麼?這是一個