Расшифровка URL-адресов SQL Server

Во-первых, это неправильно:

<input type="submit" name="SubmitButton" value="Reset" />
<input type="submit" name="SubmitButton" value="OK" />
<input type="submit" name="SubmitButton" value="Back" />

Все три из них являются кнопками отправки. Сброс является входом типа = «сброс». Получите это отсортировано. Во-вторых, я успешно реализовал нечто подобное, и это работает на IE6. Попробуйте это:

    function keypressHandler(e)
    {
        if(e.which == 13) {
            e.preventDefault(); //stops default action: submitting form
            $(this).blur();
            $('#SubmitButton').focus().click();//give your submit an ID
        }
    }

    $('#myForm').keypress(keypressHandler);

При фокусировке () кнопка кажется нажатой, когда пользователь нажимает кнопку ввода. Довольно изящно.

13
задан Jordan Allan 26 January 2012 в 16:56
поделиться

1 ответ

Я добавил бы некоторое дополнительное декодирование. Одна ошибка, с которой я столкнулся, является возвращаемым значением, было пустым. Я также заметил, что несколько ответов выше заменили '+' пространством.

ALTER FUNCTION UrlDecode(@url varchar(3072))
    RETURNS varchar(3072)
AS BEGIN 

    DECLARE @count int, 
            @c char(1), 
            @cenc char(2), 
            @i int, 
            @urlReturn varchar(3072) 

    SET @count = Len(@url) 
    SET @i = 1 
    SET @urlReturn = '' 

    WHILE (@i <= @count) BEGIN 
        SET @c = substring(@url, @i, 1) 
        IF @c LIKE '[!%]' ESCAPE '!' BEGIN 
            SET @cenc = substring(@url, @i + 1, 2) 
            SET @c = CHAR(CASE WHEN SUBSTRING(@cenc, 1, 1) LIKE '[0-9]' 
                            THEN CAST(SUBSTRING(@cenc, 1, 1) as int) 
                            ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 1, 1)))-55 as int) 
                            END * 16 + 
                          CASE WHEN SUBSTRING(@cenc, 2, 1) LIKE '[0-9]' 
                            THEN CAST(SUBSTRING(@cenc, 2, 1) as int) 
                            ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 2, 1)))-55 as int) 
                            END) 
            SET @urlReturn = @urlReturn + @c 
            SET @i = @i + 2 
        END ELSE BEGIN 
            SET @urlReturn = @urlReturn + @c 
        END 

    SET @i = @i +1 

    END 

    IF @urlReturn is null BEGIN
        set @urlReturn = ''
    END ELSE BEGIN
        set @urlReturn = REPLACE(@urlReturn, '+', ' ')
    END

    RETURN @urlReturn

END
GO
0
ответ дан 1 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

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