如何在Ajax表单提交中重置表单字段1

How to reset fields of form in Ajax form submiting in Yii 1

本文关键字:表单 字段 Ajax 表单提交      更新时间:2023-09-26

我有以下代码在我的视图文件:

<?php $form=$this->beginWidget('CActiveForm', array(
                            'id'=>'contact',
                            'enableClientValidation'=>true,
                            'htmlOptions'=>array('onsubmit'=>"return false;",
                                'onkeypress'=>"if(event.keyCode==13){send();}"
                                ),
                            'clientOptions'=>array(
                                'validateOnSubmit'=>true,
                            ),
                        )); ?>

发送消息代码:

<div class="f_message">
                            <?php echo $form->labelEx($product,'message'); ?>
                            <?php echo $form->textField($product,'message', array('class'=>'footer_text_area')); ?>
                            <?php echo $form->error($product,'message'); ?>
                        </div>
<?php echo CHtml::submitButton('Submit', array(
                                    'id' => 'f_send',
                                    'onclick'=>'send();',
                                    'style' => 'margin-left:5px;'
                                )) ?>

和javaScript代码:

<script type="text/javascript">
                        function send()
                        {
                            var data=$("#contact").serialize();
                            $.ajax({
                                type: 'POST',
                                url: '<?php echo Yii::app()->createAbsoluteUrl('/profile/company/contact/view', array('id'=>$model->c_id)); ?>',
                                data:data,
                                success:function(data){
                                    alert("Your Mail has been sent successfully");
                                },
                                error: function(data) { // if error occured
                                    alert("Error occured.please try again");
                                    alert(data);
                                },
                                dataType:'html'
                            });
                        }
                    </script>

这些代码负责发送消息。当用户按下提交按钮时,它会发送消息并出现提示对话框,无论电子邮件是否发送成功。但是,它不重置消息字段。我需要开发的代码,使重置消息字段后成功发送。我该如何培养它?

请在alert("Your Mail has been sent successfully");行后添加document.getElementById('YOURFORMID').reset();,以便在成功的情况下重置它。

YOURFORMID替换为在"<form id="YOURFORMID">"标签中设置的实际ID。

请在警告消息后输入一行location.reload();以重置消息字段