Отредактировать на месте с помощью javascript и обновить значение массива?

#php #javascript

#php #javascript

Вопрос:

Я не использую какой-либо плагин javascript,

 <html>
<head>
<title>sample dynamic select list</title>
<script language='javascript'>
function changeContent(tablecell)
{
    tablecell.innerHTML = "<INPUT type=text name=newname onBlur="javascript:submitNewName(this);" value="" tablecell.innerHTML "">";
    tablecell.firstChild.focus();
}
function submitNewName(textfield)
{

    textfield.parentNode.innerHTML= textfield.value;
}
</script>
</head>
<?php
$exrate = array("USD"=>array('sale'=>123,"buy"=>456))
?>
<body>
Double click on any cell. Then enter your own text and then tab out or click on other place.
<table border=1 bgcolor=gray>
<tr>
<th>Currency</th>
<th>Buy</th>
<th>Sale</th>
</tr>
<tr>
<td>USD</td>
<td onDblClick="javascript:changeContent(this);"><?=$exrate["USD"]["sale"]?></td>
<td onDblClick="javascript:changeContent(this);"><?=$exrate["USD"]["buy"]?></td>
</tr>
</table>
</body>
</html> 
  

При двойном щелчке на любой ячейке введите свой собственный текст, а затем выделите вкладку или щелкните на другой place.so Как я могу обновить эти данные, например, хранить в массиве, может сохранять значения при каждом редактировании?

Комментарии:

1. я не уверен, что вы пытаетесь сказать, но вы создаете массив и вводите значение при каждом редактировании, array.push(newvalue)

Ответ №1:

Сначала вам нужно каким-то образом сохранить эти значения на стороне сервера (как хранится $ exrate? это в сеансе, базе данных и т.д.?) И затем вы могли бы привязать событие even on the tablecell’s blur к событию tablecell и выполнить ajax-запрос для обновления значений в вашем хранилище на стороне сервера.

Тем не менее, с таким количеством простых в использовании и легковесных фреймворков / библиотек javascript я не понимаю, почему вы хотели бы сделать это вручную (за исключением, может быть, учебного упражнения или инновационной формы самобичевания).

Комментарии:

1. да, я только учусь., если слишком много всего, как вы сказали, я вернусь к использованию js-фреймворков…