Очистите все поля HTML с помощью JavaScript

Последний опубликованный вами запрос также не является динамическим, поэтому я не уверен, почему вы используете EXEC. Как я уже упоминал в комментариях, поэтому это так же просто, как использовать SET:

DECLARE @PropertyPK uniqueidentifier; --SP parameter

DECLARE @JSON nvarchar(MAX);

SET @JSON = (SELECT *
             FROM Contacts
             WHERE PropertyPK = @PropertyPK
             FOR JSON PATH, INCLUDE_NULL_VALUES);

Нет необходимости приводить @PropertyPK как varchar к динамическому оператору SQL; просто используйте правильный параметризованный SQL.

Это основано на догадках и последнем (но явно неполном) вопросе ОП. Если это не правильно, это должно привести вас к правильному пути, однако, из-за того, что информация потечет, затруднительно ответить на вопрос.

DECLARE @PropertyPK uniqueidentifier,
        @SearchTerm varchar(50),
        @Limit int,
        @Offset int,
        @SortBy sysname,  --objects have the data type sysname, aka nvarchar(128)
        @SortOrder nvarchar(4); --Guess datatype as it was missing in your sample

DECLARE @JSON nvarchar(MAX);

DECLARE @SQL nvarchar(MAX);


SET @SQL = N'SET @JSON = (SELECT {Columns}' + NCHAR(10) + --Replace {Columns} with an actual list of the required columns (NOT *)
           N'             FROM dbo.Contacts' + NCHAR(10) +
           N'             WHERE Address LIKE @Search' + NCHAR(10) +
           N'               AND PropertyPK = @PropertyPK' + NCHAR(10) + --I ASSUME that WHERE is still needed
           N'             ORDER BY ' + QUOTENAME(@SortBy) + N' ' + CASE @SortOrder WHEN N'ASC' THEN N'ASC' WHEN N'DESC' THEN 'DESC' END + NCHAR(10) + --The CASE stops invalid sort orders
           N'             OFFSET @Offset FEETCH NEXT @Limit ROWS ONLY' + NCHAR(10) +
           N'             FOR JSON PATH, INCLUDE_NULL_VALUES);';

PRINT @SQL; --Your best friend
EXEC sp_executesql @SQL,
                   N'@JSON nvarchar(MAX) OUTPUT, @Search varchar(50), @PropertyPK uniqueidentifier, @Offset int, @Limit int',
                   @JSON = @JSON OUTPUT, 
                   @Search = @SearchTerm,
                   @PropertyPK = @PropertyPK,
                   @Offset = @Offset,
                   @Limit = @Limit;

Одна из самых важных вещей, которую вы должны здесь отметить, это то, что я сделал SQL БЕЗОПАСНЫМ . Ваш SQL был широко открыт для внедрения SQL, что является огромным недостатком безопасности. Если вы не знаете / не понимаете SQL-инъекцию, я предлагаю прочитать об этом сейчас. SQL, как у вас выше, - это огромная проблема, а конкатенация необработанных строк - ужасная идея, ожидающая своего использования.

10
задан Sakthivel 20 February 2009 в 12:08
поделиться

6 ответов

var elements = document.getElementsByTagName("input");
for (var ii=0; ii < elements.length; ii++) {
  if (elements[ii].type == "text") {
    elements[ii].value = "";
  }
}
31
ответ дан 3 December 2019 в 13:15
поделиться
var fields = document.getElementsByTagName('input'),
    length = fields.length;
while (length--) {
    if (fields[length].type === 'text') { fields[length].value = ''; }
}
8
ответ дан 3 December 2019 в 13:15
поделиться

В то время как не простое решение, изучите jQuery. Необходимо смочь сделать что-то как:

$("input[type=text]").val('');

Я не эксперт jQuery, все же.

8
ответ дан 3 December 2019 в 13:15
поделиться

Я думаю

$("input:text").val("");

Должен работать с jQuery.

5
ответ дан 3 December 2019 в 13:15
поделиться

Это должно сделать работу

var inputElements = document.getElementsByTagName("input");
for (var i=0; i < inputElements.length; i++) {
    if (inputElements[i].type == 'text') {
        inputElements[i].value = '';
    }
}
6
ответ дан 3 December 2019 в 13:15
поделиться

Если все Вы, поля запустили пробел, который можно назвать методом сброса формы:
document.forms[0].reset() (существуют обычно более изящные способы получить дескриптор формы в зависимости от Вашего конкретного случая).

5
ответ дан 3 December 2019 в 13:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: