Вот скрипка, которую я использовал для тестирования: https://jsfiddle.net/Twisty/gokfth37/41/
HTML
[110 ]
Я сделал несколько прыжков и создал HTML на основе вашего PHP-кода. Здесь вы можете видеть, что мне пришлось много исправлять синтаксис HTML. Вы не должны иметь Таким образом, при нажатии кнопки «Добавить заметки» динамически создается форма, которая должна иметь уникальный идентификатор, а все элементы внутри нее должны иметь уникальные идентификаторы. Эта форма будет иметь кнопку «Закрыть», текстовую область, скрытый элемент и кнопку отправки. Когда форма отправлена, данные из формы должны быть отправлены через POST на определенный URL-адрес, и после успешной отправки отобразится примечание об успехе. JavaScript Одним из преимуществ создания контента с помощью jQuery является то, что вы можете связывать обратные вызовы при создании объекта. Таким образом, вместо того, чтобы возиться с В приведенном выше примере мы создаем форму, привязываем к ней обратный вызов submit, добавляем другие элементы и заменяем Когда вы видите Надеюсь, это поможет.
с элементами или
элементы, которые могут содержать другие элементы.
$(function() {
$('.click_notes').on('click', function() {
$(this).parent().find(".successMessage").hide();
$(this).hide();
var that = $(this);
var tid = $(this).data('question-id');
var form = $("
.on()
, вы также можете просто вызывать .click()
или .submit()
прямо при создании объектов. Любой из них работает, но иногда одним легче управлять, чем другим. #demo
этим вновь созданным содержимым. Я также добавил несколько дополнительных битов, чтобы скрыть несколько вещей, если они показываются. var that = $(this);
, это своего рода небольшая хитрость, поскольку мы не хотим путать this
в некоторых других обратных вызовах, однако нам может понадобиться сослаться на оригинал this
, и мы можем, используя [ 1113]. [тысяча сто двадцать-дв]
Я всегда бросал бы по причинам, которые Вы заявляете. Глюки я знаю об этом, необходимо обработать:
Очевидно, необходимо смочь обработать DBNulls (например, путем тестирования с Преобразованием. IsDBNull)
В случае ExecuteScalar я полагаю, что необходимо проверить на пустой указатель, а также DBNull.
SQL Server @@ ИДЕНТИФИКАЦИОННЫЕ ДАННЫЕ и функции SCOPE_IDENTITY возвращаются числовой (десятичное число) даже для столбцов, которые объявляются как INT. В этом случае можно бросить дважды" (международное) (десятичное) значение" или обработать его в коде T-SQL, например:.
INSERT INTO MyTable... ВЫБЕРИТЕ AutoIdColumn ИЗ MyTable ГДЕ AutoIdColumn = SCOPE_IDENTITY ()
или
INSERT INTO MyTable ...
SELECT CAST(SCOPE_IDENTITY() AS INT)
При получении от RDBMS необходимо позволить драйверу базы данных обработать маршалинг между собственным и требуемым типом.
БРОСОК санкционирован стандартами SQL и работами над самым большим количеством платформ RDBMS.
ПРЕОБРАЗОВАНИЕ доступно на меньшем количестве платформ.
Если у Вас есть многоплатформенное ПРЕОБРАЗОВАНИЕ соображений, должен только использоваться для особых случаев, таких как пользовательское форматирование, которое не может быть выполнено с БРОСКОМ.
Оба CAST
и CONVERT
привыкли к явно для преобразования выражения одного типа данных другому. Однако с CONVERT
можно указать стиль форматирования также.
Синтаксис для БРОСКА:
CAST ( expression AS data_type [ (length ) ])
Синтаксис для ПРЕОБРАЗОВАНИЯ:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )