Проблема заключается в том, что я пытаюсь изменить изображение из тега canvas, когда клиент выбирает другой переключатель.Как изменить содержимое функции 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, что Аякса файл вызовов:
$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? Это тег