rbnvrw / markdown-forms

用于通过Markdown添加、验证和发送简单HTML/AJAX表单的类

dev-master 2014-12-01 13:02 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:16:46 UTC


README

类用于通过Markdown添加、验证和发送简单HTML/AJAX表单。该类扩展了Michelf Markdown。目前,支持基本的<input><textarea>元素。

语法

基本语法如下

?{type}("label" "value" "placeholder" rows*cols){.class}
  • type<input>元素的类型(必需)
  • label:标签,此标签也将转换为<input>元素的id(可选)
  • value<input>元素的值(可选)
  • placeholder<input>元素的占位符(可选)
  • rows*cols<textarea>元素的行数和列数,其他类型忽略(对<textarea>必需)
  • class<input>元素的类(可选)

示例

例如,要创建一个Twitter Bootstrap表单

<form role="form" markdown="1">
  ?{text}("Name" "" "Name..."){.form-control}
  ?{email}("Email" "" "Email..."){.form-control}
  ?{text}("Subject" "" "Subject..."){.form-control}
  ?{textarea}("Message" "" "Message..." 3*20){.form-control}
  ?{submit}("" "Send!"){.form-control}
</form>

这将生成以下输出

<form role="form">
    <div class="form-group">
        <label for="name">Name</label>
        <input name="name" id="name" placeholder="Name..." class="form-control" type="text">
    </div>
    <div class="form-group">
        <label for="email">Email</label>
        <input name="email" id="email" placeholder="Email..." class="form-control" type="email">
    </div>
    <div class="form-group">
        <label for="subject">Subject</label>
        <input name="subject" id="subject" placeholder="Subject..." class="form-control" type="text">
    </div>
    <div class="form-group">
        <label for="message">Message</label>
        <textarea name="message" id="message" placeholder="Message..." class="form-control" rows="3" cols="20"></textarea>
    </div>
    <div class="form-group">
        <input value="Send!" class="form-control" type="submit">
    </div>
</form>

可以通过将模板作为参数传递给类来自定义<input><textarea>的模板。