2011-01-11 5 views
1

Я делал HTML-сайты некоторое время, и я всегда опасался создавать формы, поэтому я прибегал к использованию генераторов форм.Как создать веб-форму HTML?

На этот раз я решил, что хочу сделать это сам. Я знаю основы, что форма выглядит примерно так:

<form id="mail_form"> 
     <div> 
      <input type="text" name="subject" id="subject"/> 
     </div> 
     <div> 
      <textarea name="message" id="message"></textarea> 
     </div> 
     <div> 
      <input type="submit" name="submit" id="submit" value="Send"/> 
     </div> 
</form> 

Но чтобы сделать форму на самом деле работать, что, по вашему мнению, это лучший способ сделать это, которое является простым и эффективным?

Благодаря

+1

Что не работает? –

+0

Какие серверные технологии вы хотите использовать? – karlis

+0

@John форма не отправляю. Я ищу лучший скрипт для отправки веб-форм. – Tim

ответ

0

Во-первых, я хотел бы предложить кожура форму вплоть до его первой необходимости:

<form id="mail_form"> 
    <input type="text" name="subject" id="subject"/> 
    <textarea name="message" id="message"></textarea> 
    <input type="submit" name="submit" id="submit" value="Send"/> 
</form> 

Тогда добавить в некоторой семантической информации:

<form id="mail_form"> 
    <label for="subject">Subject:</label> 
    <input type="text" name="subject" id="subject"/> 

    <label for="message">Message:</label> 
    <textarea name="message" id="message"></textarea> 

    <input type="submit" name="submit" id="submit" value="Send"/> 
</form> 

Затем используйте fieldset элементы сегментировать формы в связанных с ним компонентов:

<form id="mail_form"> 
    <fieldset class="message"> 
     <label for="subject">Subject:</label> 
     <input type="text" name="subject" id="subject"/> 

     <label for="message">Message:</label> 
     <textarea name="message" id="message"></textarea> 
    </fieldset> 

    <fieldset class="submitReset"> 
     <input type="submit" name="submit" id="submit" value="Send"/> 
    </fieldset> 
</form> 

На этом этапе вам необходимо добавить информацию в открывающем теге form «s, чтобы дать инструкции относительно того, что вы хотите, чтобы произошло на подать, и как:

<form id="mail_form" action="http://path.to.server-side-script.com/script.php" method="post" <!-- or 'get' -->> 

После нажатия кнопки отправить это (или форма предоставляется любыми способами), информация будет отправлена ​​на серверный/внутренний скрипт, расположенный по адресу «http://path.to.server-side-script.com/script.php», ,

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


Отредактировано в ответ на комментарий (на вопрос) с помощью OP:

... форма не отправляется. Я ищу лучший скрипт для отправки веб-форм.

Вам не нужно сценарий отправить форму, все, что вам нужно сделать, это добавить атрибуты action и method в открывающем теге form «s. Браузер самостоятельно позаботится об отправке. Вам do, однако нужен скрипт для обработки/обработки формы на вашем сервере. Но это еще один вопрос, и он отвечает только в том случае, если вы подробно расскажете о своих внутренних/серверных ресурсах.

+0

@ Джон, я предположил бы, из этого ответа, что браузер отправит форму скрипту, расположенному по адресу «http://path.to.server-side-script.com/script.php», используя 'post' , Я что-то пропустил? Признаюсь, я не учитывал опции enctype, но я думаю, что это должно сработать, чтобы отправить форму в порядке. (Поскольку он не добавил никакой информации о своем внутреннем решении, я решил не пытаться и не спекулировать, и обратите внимание, что это «целый другой вопрос» после предоставления информации.) –

+0

да, вы что-то пропустили! Вы отредактировали свой ответ. Я видел это без деталей элемента '

'. –

0

Вы требуют «бэкенд», чтобы сделать эту работу. Обычно это ASP или PHP.

Когда вы нажмете кнопку «Отправить», ваш браузер отправит данные на задний план, где код будет выполнять действия на основе представленных данных. Обычно он хранит эти данные в базе данных.

Вы, вероятно, следует взглянуть на PHP его, вероятно, легче попасть и хостинг расходы, как правило, дешевле

0

Необходимо указать способ действия и свойства объекта (POST или GET).

2

Вам необходимо ПОСЛАТЬ его скрипту, чтобы его можно было обработать.

В теге вам необходимо включить атрибут action и method. Действие определяет веб-страницу, на которую будут отправляться данные, и метод будет таким, как он будет отправлен. Есть два способа отправить данные, используя POST или GET, хотя в вашем случае POST, вероятно, лучший вариант.

Ваш будет выглядеть следующим образом:

myform.php

<form id="mail_form" action="mypost.php" method="POST"> 
     <div> 
      <input type="text" name="subject" id="subject"/> 
     </div> 
     <div> 
      <textarea name="message" id="message"></textarea> 
     </div> 
     <div> 
      <input type="submit" name="submit" id="submit" value="Send"/> 
     </div> 
</form> 

Вы бы что-то вроде следующего, чтобы получить доступ к данным:

mypost.php

<?PHP 
    echo $_POST['subject']; 
    echo "\<br\>"; 
    echo $_POST['message']; 
?> 

Это просто напечатает значение, которое пользователь вложил. Вы можете делать все, что хотите, wi го его.

Конечно, этот способ работает только с PHP. Вы можете установить действие на какой-либо документ, но для получения и обработки данных вам нужен серверный язык сценариев.

Для дальнейшего ознакомления см. http://www.w3schools.com/php/php_forms.asp.

0

Как указывалось в других ответах, для обработки запроса на сервере вам нужен служебный сервер.

Если вы хотите работать с PHP, я бы порекомендовал вам получать WAMP запустить Apache/PHP на вашем компьютере, и здесь очень простой учебник: http://www.w3schools.com/php/php_forms.asp

Если вы планируете использовать ASP .NET , вы можете получить программное обеспечение от http://www.asp.net, и у них также есть очень хорошие учебники на их веб-сайте.

Существуют и другие программы на стороне сервера, которые вы также можете использовать, например Python или Ruby. Все это вопрос изучения и поиска того, что вам нравится.

Смежные вопросы