簡體   English   中英

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

[英]How to reset fields of form in Ajax form submiting in Yii 1

我的視圖文件中有以下代碼:

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

這些代碼負責發送消息。 當用戶按下提交按鈕時,無論是否成功發送電子郵件,都會顯示消息並顯示警告對話框。 但是,它不會重置消息字段。 我需要開發成功發送后重置消息字段的代碼。 我該如何開發它?

請添加document.getElementById('YOURFORMID').reset(); alert("Your Mail has been sent successfully"); 只有在成功的情況下才能重置它。 YOURFORMID替換為您在<form id="YOURFORMID">標記中設置的實際ID。

Plesae鍵入一行location.reload(); 在警告消息后重置消息字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM