0

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

或者为此必须在事件上submitButton与片段'return false;'JavaScript一起使用submit

我想要的是:Link用于发送表单数据Ajax和传统Post方法(Post禁用浏览器 JavaScript 时的传统方法)。有办法吗?

4

1 回答 1

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>
于 2013-03-11T13:10:16.773 回答