1
私は自分のページを管理するためにjavascriptでコードを作成しましたが、IEとSafariで動作するいくつかの問題があるようですが、Firefoxのように、他のブラウザは動作していません。 機能は、すべてのvisisleチェックボックスを選択することです。送信SMSは、チェックボックスのすべての値を取得し、別のリンクに移動し、フィルタテーブルは、テーブルにあるコンテンツのフィルタリングに役立ちます。IEとSafariのjavascriptとajaxの問題
document.getElementById('tbl1').innerHTML=xmlhttp.responseText;
:エラーが上にあるフィルタテーブルに
is not defined or is null.
:この
<script type="text/javascript">
function toggle() {
var checkboxes = document.getElementsByName('parasms');
for each(var checkbox in checkboxes)
checkbox.checked = true;
}
function toggle2() {
var checkboxes = document.getElementsByName('parasms');
for each(var checkbox in checkboxes)
checkbox.checked = false;
}
function sendsms()
{
var counter = 0,
i = 0,
url = '',
input_obj = document.getElementsByTagName('input');
for (i = 0; i < input_obj.length; i++) {
if (input_obj[i].type === 'checkbox' && input_obj[i].checked === true) {
counter++;
url = url + ', ' + input_obj[i].value;
}
}
if (counter > 0) {
url = url.substr(1);
window.location.href = 'enviarsms.php?num=' + url;
}
}
function clean()
{
document.getElementById('empresa').value="";
document.getElementById('numero').value="";
document.getElementById('utilizador').value="";
document.getElementById('pontos').value="";
document.getElementById('movel').value="";
document.getElementById('actividade').value="";
document.getElementById('email').value="";
}
function filtertable(idElm)
{
var empresa=document.getElementById('empresa').value;
var numero=document.getElementById('numero').value;
var utilizador=document.getElementById('utilizador').value;
var localidade=document.getElementById('localidade').value;
var pontos=document.getElementById('pontos').value;
var movel=document.getElementById('movel').value;
var actividade=document.getElementById('actividade').value;
var email=document.getElementById('email').value;
if (empresa=="" && numero==""&& utilizador=="" && localidade=="" && movel=="" && actividade=="" && email=="" && pontos=="")
{
window.location = "../index.php";
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById('tbl1').innerHTML=xmlhttp.responseText;
document.getElementById(idElm).focus();
document.getElementById('empresa').value=empresa;
document.getElementById('numero').value=numero;
document.getElementById('utilizador').value=utilizador;
document.getElementById('localidade').value=localidade;
document.getElementById('pontos').value=pontos;
document.getElementById('movel').value=movel;
document.getElementById('actividade').value=actividade;
document.getElementById('email').value=email;
return;
}
}
xmlhttp.open("GET","filtertable.php?empresa="+empresa+"&&numero="+numero+"&&utilizador="+utilizador+"&&localidade="+localidade+"&&pontos="+pontos+"&&movel="+movel+"&&actividade="+actividade+"&&email="+email+"&&random=" + Math.random(), true);
xmlhttp.send();
}
</script>
<table width="2000" border="0" cellspacing="2" cellpadding="2" align="center" id="tbl1" name="representantes" class="table1">
<tr><td colspan="9"><a href="inserirrepresentante.php">Inserir Representante</a> | <a href="#" onclick="sendsms()">Enviar SMS</a> | <a href="#" onclick="toggle();">Seleccionar tudo</a> | <a href="#" onclick="toggle2();">Desselecionar</a></td></tr>
<tr style="background-color: grey;color:white;text-align: center;"><th style="text-align:center;">Acções</th><th>Empresa</th><th style="text-align:center;">Numero</th><th style="text-align:center;">Utilizador</th><th style="text-align:center;">Localidade</th><th style="text-align:center;">Pontos</th><th style="text-align:center;">Telefone Movel</th><th style="text-align:center;">Actividade</th><th style="text-align:center;width: 160px; max-width: 160px;overflow-x: hidden;">Email</th></tr>
<tr>
<th></th>
<th><input size="45" type="text" id="empresa" onkeyup="filtertable('empresa')" style="border:1px dashed black;"/></th>
<th><input size="10" type="text" id="numero" onkeyup="filtertable('numero')" style="border:1px dashed black;" /></th>
<th><input size="25" type="text" id="utilizador" onkeyup="filtertable('utilizador')" style="border:1px dashed black;" /></th>
<th><input size="15" type="text" id="localidade" onkeyup="filtertable('localidade')" style="border:1px dashed black;" /></th>
<th><input size="10" type="text" id="pontos" onkeyup="filtertable('pontos')" style="border:1px dashed black;" /></th>
<th><input size="20" type="text" id="movel" onkeyup="filtertable('movel')" style="border:1px dashed black;"/></th>
<th><input size="30" type="text" id="actividade" onkeyup="filtertable('actividade')" style="border:1px dashed black;" /></th>
<th><input size="50" type="text" id="email" onkeyup="filtertable('email')" style="border:1px dashed black;" /></th>
</tr>
どれも私はこのエラーを取得する私はそれらのすべてにエラーが発生しますfirefox.Inインターネットエクスプローラの外に働きません
IEによれば、私はこの関数を呼び出すとエラーになる
onkeyup="filtertable('empresa')"
これはなぜ起こっているのですか?
'(チェックボックスのチェックボックスにチェックを入れる)'は機能しません。 'for(var ...')と書いてください。 – kirilloid
Internet Explorerは '
答えて
これは、人々がjQueryのようなJavaScriptフレームワークを使用する主な理由です。
http://jquery.com/
.getElementsBynameような基本的な機能、それぞれについて、クロスブラウザの互換性のためにこれらのフレームワークに正規化されるcheckbox.checked。
出典
2012-03-06 13:59:19
助けてくれてありがとう。 –
関連する問題