2012-10-11 52 views
2

我的代码是在的onclick提交按钮没有返回JavaScript函数警予

视图

<?php echo CHtml::SubmitButton('Submit',array('onclick'=>'return validation();'));?> 

我的脚本功能

function validation(){ 

    jQuery("#firstname_result").hide(); 

    jQuery("#lastname_result").hide(); 

    jQuery("#email_result").hide(); 

var firstname =jQuery("#first_name").val(); 

    var lastname = jQuery("#last_name").val(); 

    var email = jQuery("#email").val(); 

success=true; 

if(firstname==''){ 

    success=false; 

    jQuery('#firstname_result').html('First Name cannot be blank.').show(); 


} 
if(lastname==''){ 
     success=false; 
    jQuery('#lastname_result').html('Last Name cannot be blank.').show(); 

} 
if(email==''){  
     success=false; 
    jQuery('#email_result').html('Email cannot be blank.').show(); 

} 

if(!success) 
     return; 

} 

点击提交按钮后,节目错误,并出现在其他页面提交目标..任何人都可以告诉我如何能够吨克服这一点?

+0

你不应该返回'成功'的价值吗?目前看起来你没有返回任何东西? – Stu

+0

不作为答案...记住你的代码之前的四个空格。现在,它看起来很丑陋:( –

回答

1

尝试返回成功变量的值。它应该做的伎俩。

if(!success) return; 

应该

return success; 

这将从sumitting停止形式。

0

使用preventDefault来防止表单提交。

修改后的代码:

<?php echo CHtml::SubmitButton('Submit',array('onclick'=>'return validation(event);'));?> 

function validation(event){ 
    ..... //code 
    if(!success) { 
     event.preventDefault(); 
     event.returnValue = false; // for IE. 
    }