2014-12-04 91 views
0

我有这个小javascript来验证表单输入。JavaScript将警报转换为字符串

function validateFormOnSubmit(theForm) { 
var reason = ""; 

    reason += validateEmail(theForm.courriel); 

    if (reason != "") { 
    alert("Some fields need correction:\n" + reason); 
    return false; 
    } 

    return true; 
} 

function trim(s) 
{ 
    return s.replace(/^\s+|\s+$/, ''); 
} 

我试着弄清楚如何获得“警告”消息作为字符串,以显示它以后的页面上,而不是弹出这个可笑的盒子。看起来很简单,但我在js中很大。任何帮助表示感谢,谢谢!

回答

0

var alerter; 
 

 
function validateFormOnSubmit(theForm) { 
 
var reason = ""; 
 

 
    reason += validateEmail(theForm.courriel); 
 

 
    if (reason != "") { 
 
    alerter = "Some fields need correction:<br/>" + reason; 
 
    return false; 
 
    } 
 

 
    return true; 
 
} 
 

 
function trim(s) 
 
{ 
 
    return s.replace(/^\s+|\s+$/, ''); 
 
} 
 

 
document.body.innerHTML = alerter;

+0

'alerter'仍将' undefined'。它应该是一个全局变量,或者你应该删除'var'关键字。 – Lekhnath 2014-12-04 17:08:46

+0

是的,你说得对,@Lekhnath。我确定了我的答案。 – 2014-12-04 17:11:01

1

警报()方法是什么使大弹出框。如果您想保存该值供以后使用,请将其保存到变量中。喜欢的东西:

var message = ""; 
function validateFormOnSubmit(theForm) { 
    var reason = ""; 

    reason += validateEmail(theForm.courriel); 

    if (reason != "") { 
     message = "Some fields need correction:\n" + reason; 
     return false; 
    } 

    return true; 
} 

function trim(s) 
{ 
    return s.replace(/^\s+|\s+$/, ''); 
} 
+0

该脚本正常工作,但消息未显示 – 2014-12-04 18:08:41

+0

该消息未显示,因为没有任何操作。您需要添加一些代码来以任何方式显示消息。一种方法是在HTML中创建特定的div并将消息的值分配给其textContent:http://msdn.microsoft.com/en-us/library/ie/yfc4b32c%28v=vs.94%29.aspx 。 (另外,我编辑的答案是使全球信息,因为@ Lekhnath建议在不同的答案)。 – Tsa579 2014-12-04 18:24:16

0

如何分配字符串 “窗口” 的属性:

window.myAlert ="Some fields need correction:\n" + reason); 

然后你可以从任何地方获得它:

document.body.innerHTML = window.myAlert; 
+0

我得到一个空白页面,说“未定义” – 2014-12-04 18:09:09

+0

如果你的“原因”var是空的,它不会被定义,所以你必须说明这一点。 – mopo922 2014-12-04 18:11:57

+0

*“it”我的意思是window.myAlert – mopo922 2014-12-04 18:18:11