表格:
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函数。有什么建议吗?
答案 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
attribute:onsubmit="return validateForm();"
。
另外,我在表单中看不到任何名称为URL
的字段。你确定它确实存在吗?