在jquery代码的一部分中,我在下面有这行代码:
var newHtml="<span style='color: green'>"+result.msg+"</span>"
现在jquery代码显示在<body>
部分,但问题是我在验证中收到错误说明:
文档类型不允许元素“span”在这里
我的问题是,是否有办法在保留span标记的同时修复它,或者我是否需要使用替代标记?
查看来源的完整代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Edit Assessment Date/Start Time</title>
<link rel="stylesheet" type="text/css" href="edit_sessionadminStyles.css"/>
<link rel="stylesheet" type="text/css" href="jquery/ui-lightness/jquery-ui-1.8.16.custom.css"/>
<script type="text/javascript" src="jquery/jquery-1.7.min.js"></script>
<script type="text/javascript" src="jquery/jquery-ui-1.8.16.custom.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery/ui-lightness/jquery.ui.timepicker.css"/>
<link rel="stylesheet" type="text/css" href="jquery/ui-lightness/jquery-ui-1.8.14.custom.css"/>
<link rel="stylesheet" type="text/css" href="jquery/ui-lightness/jquery-ui-timepicker-addon.css"/>
<script type="text/javascript" src="jquery/jquery.ui.timepicker.js"></script>
<script type="text/javascript" src="jquery/jquery-ui-timepicker-addon.js"></script>
</head>
<body>
<script type="text/javascript">
function submitform() {
$.ajax({
type: "POST",
url: "updatedatetime.php",
data: $('#updateForm').serialize(),
dataType:'json', //get response as json
success: function(result){
if(result.errorflag){
//do your stuff on getting error message
var newHtml="<span class='red'>"+result.msg+"</span>";
$("#targetdiv").html(newHtml); //i am displaying the error msg here
}else{
//you got success message
var newHtml="<span class='green'>"+result.msg+"</span>";
$("#targetdiv").html(newHtml);
//Get and store the new date and time.
var newDate = jQuery("#newDate").val();
var newTime = jQuery("#newTime").val();
//Set your current date and time to your new date and time.
jQuery("#currentDate").val(newDate);
jQuery("#currentTime").val(newTime);
//Find the currently selected session and update it.
var selectedOption = jQuery("#sessionsDrop option:selected");
var label = selectedOption.text().split(" - ");
selectedOption.text(label[0] + " - " + newDate + " - " + newTime);
//Clear the new date and time fields.
jQuery("#newDate").val("");
jQuery("#newTime").val("");
$('#targetdiv').show();
}
}
});
}
$('body').on('click', '#updateSubmit', showConfirm);
</script>
<noscript style='color: red'><img src="Images/warning-2.fw.png" alt="Javascript Warning" id="warningImage" name="warningSymbol"/> In order to use this application without any problems, you must have javascript enabled</noscript>
Please Login to Access this Page | <a href='./adminlogin.php'>Login</a>
</body>
</html>
答案 0 :(得分:3)
场景1:当span位于<Head>
标记
您必须使用下面的CDATA
。
<script type="text/javascript">
//<![CDATA[
...code...
//]]>
</script>
检查更多信息When is a CDATA section necessary within a script tag?
场景2:当span位于<Body>
标记
<body>
<div></div>
<script>
$("div").html("<span class='red'>Hello <b>Again</b></span>");
</script>
</body>
编辑
您的问题可能是:您需要errorflag
msg
您的代码(错误)
if(result.errorflag){
//do your stuff on getting error message
var newHtml="<span class='red'>"+result.msg+"</span>";
$("#targetdiv").html(newHtml); //i am displaying the error msg here
更正了一个:
if(result.errorflag){
//do your stuff on getting error message
var newHtml="<span class='red'>"+result.errorflag+"</span>";
$("#targetdiv").html(newHtml); //i am displaying the error msg here
我希望这会对你有所帮助。
答案 1 :(得分:0)
不,没有。 <head>
未显示,因此像<span>
这样的视觉元素没有意义。
答案 2 :(得分:0)
嘿,使用此代码可以帮助您
var newHtml="<span class='red'>"+result.msg+"<//span>";
答案 3 :(得分:0)
span
是一个内联元素,需要一个周围的块元素。只是尝试使用div
代替您的范围。这应该可以解决验证错误。
答案 4 :(得分:0)
根据XHTML规则,解析HTML标记的script
元素内容,script
元素不得包含任何标记。有各种方法,包括切换到HTML 4.01(或HTML5)。如果您继续使用XHTML 1.0,那么规范中的recommendation是:“如果您的脚本使用&lt;”,则使用外部脚本。也就是说,将script
包含的脚本代码替换为引用外部.js文件中编写的代码的link
元素。