使用CHtml :: ajaxLink将表单数据作为传统的Post方法发送

时间:2013-03-11 12:38:28

标签: yii

如果禁用浏览器JavaScript,可以使用CHtml::ajaxLink作为传统的POST方法发送表单吗?

或者,对于此期望,必须在submitButton事件中使用'return false;'代码段submit JavaScript?

我希望:Link用于发送表单数据Ajax和传统Post方法(传统Post方法,用于禁用浏览器JavaScript)。有办法吗?

1 个答案:

答案 0 :(得分:2)

您可以创建一种后备:

<!-- at start Hide the ajax link -->
<style type="text/css">
    #ajax-form {display: none;}
</style>

然后你把你的div包含ajax形式:

<div id="ajax-form">
    <?php  //Ajax code ?>
</div>

如果未启用javascript,将执行的代码:

<noscript>
    <?php echo
    CHtml::beginForm('', 'post') . 
    CHtml::hiddenField('field', $model->id) .
    CHtml::submitButton('button') . 
    CHtml::endForm(); 
    ?>
</noscript>

最后,如果启用了javascript,则会包含将显示ajax div的javascript:

<script type="text/javascript">
    document.write('<style type="text/css">#ajax-form {display: inline;}</style>');
</script>