验证适当的网址

时间:2013-08-01 17:51:38

标签: php validation url

表格:

echo '<form id="newForm" name="newForm" action="../../../admin/info/apps" method="post" enctype="multipart/form-data" onsubmit="return createOrUpdate(); return validateURL();">';
echo '<input type="hidden" name="submit" />';
echo '<input type="submit" value="Update" style="margin-right: 5px;" />';

功能:

function validateURL()
{
  var http = document.newForm.URL.value.indexOf("http://");
  var https = document.newForm.URL.value.indexOf("https://");
  if (http!=0 || https!=0)
  {
    alert("Not a valid URL: must start with http://");
    return false;
  }
}

URL是输入框的名称

我知道你可以做两个onClick方法,但由于某种原因它无法正常工作。我正在尝试查看输入值,以检查URL是否以适当的开头开始。

我的createOrUpdate函数运行正常,但看起来从未调用validateForm函数。有什么建议吗?

3 个答案:

答案 0 :(得分:2)

使用其他功能测试两个函数的返回值

<强> HTML

<form id="newForm" name="newForm" action="../../../admin/info/apps" method="post" enctype="multipart/form-data" onsubmit="return myFunction();">';

<强> JS

function myFunction() {
   var first = createOrUpdate(); 
   var second = validateURL();
   return (first && second);
}

您也可以在DCoder的评论中提及并return createOrUpdate() && validateURL();内联,我这样做是为了将内联代码保持在最低限度。

答案 1 :(得分:0)

将两个函数放在一个函数中可能会更好,因为我认为它在第一次返回时会分手,也许你应该试试这个:

function validate(){
    createOrUpdate(); 
    validateURL();
}

并删除两个函数的返回值。

答案 2 :(得分:0)

将两个功能合二为一:

function validateForm() {
    return createOrUpdate() && validateURL();
}

这应该是您表单的onsubmit attributeonsubmit="return validateForm();"

另外,我在表单中看不到任何名称为URL的字段。你确定它确实存在吗?