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

时间:2016-10-20 06:49:05

标签: javascript html yii

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

<?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>

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

2 个答案:

答案 0 :(得分:0)

请在alert("Your Mail has been sent successfully");行之后添加YOURFORMID,以便仅在成功时将其重置。将<form id="YOURFORMID">替换为您在@tbl代码中设置的实际ID。

答案 1 :(得分:0)

Plesae在重置消息字段的警告消息后键入行location.reload();