저는 현재 Struts와 함께 jquery 모바일과 함께 JSP로 작업하고 있습니다. 문제는 자바 스크립트 함수가 페이지가 한 번 새로 고쳐진 후에 만 호출된다는 것입니다. 스크립트는 데이터 역할 '페이지'내에 배치됩니다. 그러나 문제는 여전히 지속됩니다. 현재 jQuery 1.0 안정 버전을 사용하고 있습니다. 여기jQuery 모바일에서 페이지 새로 고침에만 작동하는 자바
<body>
<div data-role="page" id="webtosms">
<script language="javascript">
function phonenumlen(){ //Mobile no validation
var numlen = mobileno.value.length;
//alert(numlen);
if(numlen==0){
alert('Mobile Number cannot be left blank');
return false;
}
else if(numlen<10)
{
alert('Mobile number cannot be less than 10 digits');
return false;
}
else
{
//alert('true');
return true;
}
}
function goodchars(e,goods){ // restrict users from entering letters in the mobile number textbox
var key, keychar;
key = getkey(e);
if (key == null) return true;
// get character
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();
goods = goods.toLowerCase();
// check goodkeys
if (goods.indexOf(keychar) != -1)
return true;
// control keys
if (key==null || key==0 || key==8 || key==9 || key==13 || key==27)
return true;
return false;
}
function getkey(e)
{
if (window.event)
return window.event.keyCode;
else if (e)
return e.which;
else
return null;
}
langId = 'EN';
messageLen = 299;
message = "";
function checkCount() {
//alert('function called');
if(document.webtosms.message.value.length <= messageLen) {
message = document.webtosms.message.value;
document.webtosms.charcount.value = (messageLen - document.webtosms.message.value.length);
}else {
document.webtosms.message.value = message;
}
}
function getTemplate(){ // code to populate the drop down and display in the textarea
var where_is_mytool=document.forms[0].cboTemplate.value;
var mytool_array=where_is_mytool.split("~");
//alert(where_is_mytool);
alert(mytool_array);
window.document.forms[0].smsa.value=mytool_array[0];
window.document.forms[0].tmplid1.value=mytool_array[1];
window.document.forms[0].title2.value=mytool_array[1];
window.document.forms[0].hidlang.value=mytool_array[2];
window.document.forms[0].hidcreatedbyval.value=mytool_array[5];
}
</script>
</div>
위의 코드는 페이지가 갱신되면 절대적으로 잘 작동 .. 내 코드입니다. 이미로드 된 페이지를 다시로드하고 싶지 않습니다. 도와주세요.
어떤 자바 스크립트 기능을 언급하고 있습니까? 나는 많은 것을 본다. 이벤트 트리거없이 함수가 어떻게 시작됩니까? – Lowkase
@Lokase : textarea의 keypress에서 submit, checkcount 및 goodchars에서 모바일 번호 유효성 검사가 호출됩니다. getTemplate()은 드롭 다운 온로드를 채우기위한 것입니다. 옵션을 선택하면 onchange 이벤트가 호출되어 텍스트 영역에 드롭 다운의 값을 채 웁니다. – Silver