2016-10-07 6 views
-2

Проблема заключается в том, что я пытаюсь изменить изображение из тега 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']); 
+1

Нет, "содержание функции" не изменяется. Функция - это функция, которая делает что-то в соответствии с исходным кодом. Функция может принимать * параметры *, переменные, которые вы можете использовать в коде, чтобы влиять на то, что он делает точно. – deceze

+0

Что представляет собой элемент #scriptsjs? Это тег

Смежные вопросы