请使用jQuery表单插件指导

时间:2011-02-03 22:33:34

标签: jquery

我希望有人能指出我正确的方向。我在我的网站上有一个表格,我想用AJAX提交。我找到了jQuery form plugin,但我不知道从哪里开始设置它。出于某种原因,action =“”属性?在我的表单中HTML是空的(我自己没有设置表单)我是否需要创建一个php文件?

如果有人可以为我勾勒出设置它所需的步骤,这将是非常棒的

<form method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="action" value="save_info"/>
    {foreach from=$form_fields item=form_field}
        {if $show_mailing_flag==0 && $form_field.id=="sendmail"}
        {elseif $form_field.id=="video"}
            <fieldset>
                <div class="inputName">[[$form_field.caption]]</div>
                <div class="inputReq">&nbsp;{if $form_field.is_required}*{/if}</div>
                <div class="inputField">{input property=$form_field.id template="video_profile.tpl"}</div>
            </fieldset>
        {else}
        <fieldset>
            <div class="inputName">[[$form_field.caption]]</div>
            <div class="inputReq">&nbsp;{if $form_field.is_required}*{/if}</div>
            <div class="inputField">{input property=$form_field.id}</div>
        </fieldset>
        {/if}
    {/foreach}
        <fieldset>
            <div class="inputName">
                {if $acl->isAllowed('delete_user_profile')}
                    <input type="button" value="[[Delete profile:raw]]" class="button" onclick="{literal}if(confirm('{/literal}[[Are you sure you want to delete your account?:raw]]{literal}')) {location.href='?action=delete_profile'}{/literal}" />
                {/if}
            </div>
            <div class="inputReq">&nbsp;</div>
            <div class="inputField"><input type="submit" value="[[Save:raw]]" class="button" /></div>
        </fieldset>
{/if}

PS最后应该有标签吗?似乎没有它现在可以正常工作

1 个答案:

答案 0 :(得分:1)

如果表单操作为空,则提交给自己(form.php提交到form.php)。

使用AJAX,表单操作无关紧要,除非请求的目标由action属性指定(这适用于优雅降级)。

至于通过异步请求获取表单数据,您可以使用jQuery的.serialize()方法。所以,

  1. 捕获表单的提交事件。
  2. 通过调用 e.preventDefault()
  3. 停止默认表单提交事件
  4. 使用.serialize()
  5. 序列化表单数据
  6. 使用jquery的.ajax()方法发出AJAX请求。
  7. 根据AJAX请求的响应,向用户显示结果