Wordpress上的验证表单

时间:2014-03-19 10:03:43

标签: javascript jquery wordpress forms validation

我在wordpress中有一个自定义表单,带有radioboxes和自定义字段。我想在发送之前验证它,并且我已经实现了以下JavaScript代码:

<script type="text/javascript">// <![CDATA[
function validar()
{
     if(document.form1.duracion.value=="")
    {
        alert("Falta seleccionar la duración del Vídeo.")
        return false
    }
     if(document.form1.idiomas.value=="")
    {
        alert("Falta seleccionar el número de idiomas")
        return false
    }
     if(document.form1.provincias.value=="")
    {
        alert("Falta seleccionar el tipo de Post-Producción")
        return false
    }
     if(document.form1.zonas.value=="")
    {
        alert("Faltan seleccionar las zonas de grabación")
        return false
    }
}
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2];     val=document.getElementById(args[i]);
  if (val) { nm=val.name; if ((val=val.value)!="") {
    if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
      if (p<1 || p==(val.length-1)) errors+='- El '+nm+' tiene algo mal escrito.\n';
    } else if (test!='R') { num = parseFloat(val);
      if (isNaN(val)) errors+='- ¿El '+nm+' no debería ser un número?\n';
      if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
        min=test.substring(8,p); max=test.substring(p+1);
        if (num<min || max<num) errors+='- '+nm+' debería ser un número entre '+min+' y '+max+'.\n';
  } } } else if (test.charAt(0) == 'R') errors += '- Nos gustaría saber tu '+nm+'\n'; }
} if (errors) alert('¡UPS! ¡Nos faltan tus datos de contacto!:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>

问题是我只能把这个代码放在帖子体中,而不是放在头部。 然后,我有表单按钮:

<input id="button" onclick="MM_validateForm('nombre','','R','empresa','','R','telefono','','RisNum','mail','','RisEmail');return document.MM_returnValue" type="submit" name="button" value="Obtener Presupuesto Instantáneo" />

问题是,它不起作用。 我对编码不是很有信心,所以任何帮助都会非常有用。此外,如果某人有能力使其发挥作用(包括JS,Jquery或其他任何东西),我将支付服务费用。

感谢。

Xabier的

3 个答案:

答案 0 :(得分:0)

如果您不反对JQuery,可以使用此plugin。它足以完成90%的验证任务

答案 1 :(得分:0)

我相信使用this plugin来避免编码会更容易

答案 2 :(得分:0)

要在表单提交之前进行实时验证,您可以使用例如

$('#myInputField').on('keyup', function(){})

这是jsfiddle中的一个例子,我在一个字段上进行了实时验证。只是和示例我已经要求用户名应该是8个字符的长度并相应地应用验证。使用此方法,您甚至可以在按下按钮之前验证输入字段。

http://jsfiddle.net/y7bet/