Safari 5.1.7 在 JSP 的文本区域中复制文本
Safari 5.1.7 Duplicates text in text area in JSP
在我的项目中,我在JSP上检索了网页中的拒绝备注。
<%
String rejectRemarks = null;
String rejectType = null;
String isScrap = "N";
if(request.getParameter("rejectRemarks") != null && request.getParameter("rejectRemarks")!="undefined" )
{
rejectRemarks = request.getParameter("rejectRemarks");
rejectType = request.getParameter("rejectType");
//System.out.println("in remarks.jsp reject remarks before substring ::" + rejectRemarks);
if(rejectType != null && rejectType.equals("S"))
isScrap="Y";
}
else
rejectRemarks = "";
%>
<html>
<head>
<script type="text/javascript">
var remarksValue = "";
function showDetails()
{
var maxlength=255;
var e = window.event;
remarksValue = document.getElementById("remarks").value;
if(remarksValue == undefined || remarksValue == null ||MyTrim(remarksValue).length==0)
{
remarksValue = "";
document.getElementById("validity").value="Enter valid remarks";
document.getElementById("remarks").value="";
}
else
{
if(remarksValue.length>maxlength)
{
showError("TCW325","","","",true);
return;
}
window.returnValue=remarksValue;
document.getElementById("remarksEntered").value = remarksValue;
window.close();
}
}
function fCase(o)
{
o.value=o.value.toUpperCase();
}
function wc()
{
var bwserAgnt = navigator.userAgent;
if(bwserAgnt.indexOf("Chrome")!= -1)
{
document.onkeydown = function(e)
{
if(remarksValue.length>255 && e.keyCode!=8)
{
var remarksValue = document.getElementById("remarks").value;
remarksValue = remarksValue.slice(0,-1);
document.getElementById("remarks").value = remarksValue;
}
else
wcNew(e);
}
}
else if(bwserAgnt.indexOf("Safari")!= -1)
{
document.onkeydown = function(event)
{
event = event || window.event;
if (event.keyCode == 8 || event.keyCode == 37 ||
event.keyCode == 38 || event.keyCode == 39 ||
event.keyCode == 46 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 16)
{
if(remarksValue.length>255 && e.keyCode!=8)
{
var remarksValue = document.getElementById("remarks").value;
remarksValue = remarksValue.slice(0,-1);
document.getElementById("remarks").value = remarksValue;
}
else
wcNew(event);
return true;
}
else
{
return false;
}
}
}
else if(bwserAgnt.indexOf("Firefox")!= -1)
{
var e = window.event;
if(window.event.keyCode!=8)
{
var remarksValue = document.getElementById("remarks").value;
if(remarksValue.length>255){
remarksValue = remarksValue.slice(0,-1);
}
document.getElementById("remarks").value = remarksValue;
}
wcNew(e);
}
else
{
var e = window.event;
if(window.event.keyCode!=8)
{
var remarksValue = document.getElementById("remarks").value;
if(remarksValue.length>255){
remarksValue = remarksValue.slice(0,-1);
}
document.getElementById("remarks").value = remarksValue;
}
wcNew(e);
}
}
function wcNew(e)
{
characterCode = e.keyCode ;//character code is contained in IE's keyCode property
if(characterCode == 13)
{
var remarksValue = document.getElementById("remarks").value;
document.getElementById("remarksEntered").value = remarksValue;
showDetails();
}
}
function checkMaxLength(me)
{
var maxlength=255;
var strRemarks=me.value;
if(strRemarks.length >= maxlength )
{
alert("Remarks should not exceed 255 characters");
return false;
}
}
function close1()
{
window.close();
}
</script>
<%
if(isScrap.equals("Y")){
%>
<title>Scrap Remarks</title>
<%
}else
{
%>
<title>Reject Remarks</title>
<%}%>
</head>
<body onKeyPress="wc();" >
<form Autocomplete="off" name ="frmMain" id="frmMain" method="post" >
<table>
<tr>
<td>
<INPUT TYPE="text" name="validity" id="validity" CLASS='cwInputBoxReadOnly' readOnly >
</td>
</tr>
<tr>
<td>
<textarea id="remarks" name="remarks" rows="8" cols="25" onkeypress="return checkMaxLength(this);" ><%=rejectRemarks==null?"":rejectRemarks%></textarea>
</td>
</tr>
</table>
<table align="center">
<tr>
<td>
<input type="button" class="grayTabHeaderSelected" id ="OK" name="OK" value="OK" align="CENTER" onClick="javascript:showDetails()"/>
</td>
<td>
<input type="button" class="grayTabHeaderSelected" id ="CANCEL" name="CANCEL" value="CANCEL" align="CENTER" onClick="close1()"/>
</td>
</tr>
</table>
<input type="hidden" id="remarksEntered" name="remarksEntered">
</body>
</html>
在那个 这个方法 在那个 这个方法 WC((; 在页面上有按键调用。它检查所有浏览器的代码。我在 safari 浏览器上面临的问题是在文本框中输入的任何键上。它出现了两次,例如hhii mmyy nnaammee iiss SSaameerr。在谷歌中搜索了很多,并据此实现了代码。我关注了下面的链接http://answers.microsoft.com/en-us/windows/forum/windows_7-networking/characters-entered-twice-in-modal-dialog-under/134789c1-7845-4d10-ade2-9ff3b3a60085
我仍然面临这个问题,因为第一个字符被重复,例如 SSameer。仅当该 JSP 发生新的单击时,才会发生这种情况。
任何帮助都适用。提前谢谢。
我找到了一个解决方案。我也在相同的方法 WC(( 中添加了按键事件的代码;键 = 全局变量
document.onkeypress = function(event)
{
if(key == event.keyCode)
{
return false;
}
else
{
key = event.keyCode;
}
}
它对我有用。
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域