在对话框<div> </div>中的消息中添加新行

时间:2011-06-29 04:11:42

标签: javascript jquery html

只是想问一下如何将消息放在另一行之后。这是我程序中的代码:

function isEmpty(field,name,minVal, maxVal){
  var msg ="";
  if (field.val() >= minVal || field.val() <= maxVal){
    if ( field.val().length == 0){ 
      msg=(name + ' is empty.\n');
    }
  }
  else{
    msg=(name + ' inputted is invalid or number is more than 1000. \n');
  }  
  return msg;
}

function validateTallyReq(par){
  var msg= "Please read the following:";

  msg += isEmpty($('#tallyPlankNo'),'Plank Number ',1,999) ;        
  msg += isEmpty($("#tallyThick"), 'Thickness value',.9,999);
  msg += isEmpty($("#tallyWidth"), 'Width Value',.9,999);
  msg += isEmpty($("#tallyLength"), 'Lenght Value',.9,999);
  msg += isEmpty($("#tallyQty"), 'Quantity',1,3);

  if (msg == "")  { 

  } else {
    showMessage(msg);    
  }
  return false; 
}

这会在一行中输出消息。我想要的是要输出的信息,如:

Please read the following:

Plank Number is empty. 
Thickness value is empty. 
Width Value is empty. 
Lenght Value inputted is invalid or number is more than 1000. 
Quantity is empty. 

还有一个问题,我真的不知道为什么它显示长度值无效,虽然我不输入任何值,。请帮忙。

修改
这是我的showMessage函数:

function showMessage(msg) {
  $('#dialog #message').text(msg);
  $('#dialog').dialog('open');
}

3 个答案:

答案 0 :(得分:8)

尝试在每行后面的邮件中添加<br/>。如果show()方法执行类似$("#displaydiv").html(msg);

的操作,那将会有效
msg += "<br/>";

对于意外的invalid消息,看起来这个条件中的逻辑是错误的:

if (field.val() >= minVal || field.val() <= maxVal)

尝试制作

if (field.val() >= minVal && field.val() <= maxVal)

答案 1 :(得分:1)

您需要将\n替换为<br/>,因为您是通过HTML显示的。

答案 2 :(得分:0)

这样的事情可能会修复你的两个

function isEmpty(field,name,minVal,maxVal) {
    var msg ="";
    if (field.val().length == 0) { 
        msg = name + ' is empty.<br/>';
    } else if (field.val() < minVal || field.val() > maxVal) {
        msg = name + ' must be between ' + minVal + ' and ' + maxVal + '.<br/>';
    }  
    return msg;
}