Как отправить форму с помощью метода POST с текстовой ссылкой - PullRequest
5 голосов
/ 27 августа 2010

Я новичок в PHP, но мне было интересно, как это можно сделать.

Я хочу отправить HTML-форму на другую страницу PHP, но я не хочу использовать некрасивую кнопку. Я хочу использовать ссылку.

Дело в том, что я вижу множество решений, использующих Java Script / Jquery и т. Д. Для решения этой проблемы. Кто-нибудь знает, как сделать это только с помощью PHP-кода и HTML?

Ответы [ 4 ]

8 голосов
/ 27 августа 2010

Либо используйте <input type="submit"> и стилизуйте его как ссылку с css, либо создайте ссылку с помощью onclick:

<a href="#" onclick="document.forms['name_of_your_form'].submit();">Lol Rofl</a>

Если вы хотите убедиться, что она работает, когда JS отключен, добавьте что-то вродеthis:

<noscript>
    <input type="submit" ... />
</noscript>

Это покажет кнопку на компьютерах, где JS отключен, ссылка выше все равно будет отображаться.Обходной путь - скрыть ссылку с помощью CSS, а затем показать ее с помощью JS ..

5 голосов
/ 27 августа 2010

Вы можете сделать это так:

<a href="#" onclick="document.forms['form_name'].submit();">Submit</a>

Это отправит форму по любому URL-адресу, установленному в атрибуте action form.

3 голосов
/ 27 августа 2010

Я не знаю, сколько кнопок можно стилизовать единообразно для всех браузеров, но вот начало / доказательство концепции, с которой вы можете поиграть, прочитать: проверить, настроить, вставить во внешний CSS и т. Д.

<input type="submit" value="Send" style="
    border:0;
    background-color:transparent;
    color: blue;
    text-decoration:underline;
"/>
1 голос
/ 23 февраля 2014

Я нашел альтернативный способ использования простого текста в качестве кнопки отправки, методом проб и (многих) ошибок. Поместите метки вокруг кнопки отправки и текста, затем определите кнопку CSS, чтобы она не отображалась, и текст CSS, чтобы она выглядела как ссылка.

Имейте в виду, что это, вероятно, не очень хорошая практика. :)

Например, это происходит в форме HTML:

<label class="notalink"><input type="submit" value="Submit" class="invisibutton">
Click this text to submit</label>

И это происходит в CSS:

.invisibutton {
    height: 1px;
    width: 1px;
    display: none;
    vertical-align: text-bottom;
}

label {
    color: (link-color)
    text-decoration: (etc.)
}

И так далее для определения метки, чтобы оно выглядело как стандартная ссылка. Кнопка невидима, но текст кликабелен как ее метка, поэтому она действует как кнопка.

Единственным недостатком является то, что текст моей метки упал на пиксель. Если вокруг псевдосвязи были другие слова, я должен был определить окружающий текстовый класс с помощью «vertical-align: bottom;»; чтобы убедиться, что это не выглядит странно.

Сработало заклинание. Я успешно использовал его на странице WordPress для создания фальшивых ссылок, запускающих сценарии php (установив $ _POST).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...