如何在提交前更改文本框的默认值

时间:2012-10-02 14:38:55

标签: php forms wordpress

我正在为网站使用Wordpress,并在前端添加了用户注册表单,但我使用value属性在用户点击框中之前使用预定义的文本填充它。

但是我需要表单不提交,除非用户点击了用户名框并填写了选择的用户名,因此它会更改默认的措辞。

到目前为止我正在使用

if ( !$userdata['user_login'] )
    $error = __('A username is required for registration.', 'frontendprofile');
elseif ( username_exists($userdata['user_login']) )
    $error = __('Sorry, that username already exists!', 'frontendprofile');

哪个检查是否填充了用户名,但因为我已经在这里有默认值,那么这个验证不起作用所以有没有办法改变这个,所以表单不会提交,除非用户名已从defualt更改{ {1}}

1 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题。一个可能是检查提交的值。例如。 (假设“defaultValue”是非法的user_login)

if ( !$userdata['user_login'] || 
     $userdata['user_login'] == "defaultValue" || 
     !isNotEmpty($userdata['user_login']))
    $error = __('A username is required for registration.', 'frontendprofile');
else if ( username_exists($userdata['user_login']) )
    $error = __('Sorry, that username already exists!', 'frontendprofile');

function isNotEmpty($input) 
{
    $stringTemp = $input;
    $stringTemp = trim($stringTemp);

    if($stringTemp !== '')
    {
         return true;
    }

    return false;
}

注意:PHP也有一个空函数。这只是一个示例方法。

您应该添加Javascript验证以检查字段和&我假设你已经在保护自己不受SQL注入等的影响。

希望这有帮助