| Autor | Zpráva | ||
|---|---|---|---|
| Michales Profil |
#1 · Zasláno: 21. 2. 2015, 16:50:36
Dobrý den,
následující script mi hlásí v konzoly: TypeError: document.getElementById(...) is null <script type="text/javascript">
function myFunction() {
var id = document.getElementById("id").value;
var dataString = 'id1=' + id;
{
// AJAX code to submit form.
$.ajax({
type: "POST",
url: "lyrics.php",
data: dataString,
cache: false,
success: function(html) {
$("#test").html(response);
}
});
}
return false;
}
</script><td><a onclick="myFunction()" id="<?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?>"><?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?></a></td> Můžete mi poradit jak to opravit? Děkuji |
||
| Radek9 Profil |
Michales:
Opravdu máš na stránce element, který má id "id"?
|
||
| Michales Profil |
#3 · Zasláno: 21. 2. 2015, 16:56:22
Radek9:
v id je proměnná <?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?>
|
||
| Radek9 Profil |
#4 · Zasláno: 21. 2. 2015, 16:57:45
Michales:
O tomhle elementu nemluvím. Podle kódu chceš přistupovat k nějakému formulářovému prvku, nebo se pletu? |
||
| Michales Profil |
#5 · Zasláno: 21. 2. 2015, 16:59:34
Radek9:
Potřebuji po kliku na tento řádek: <td><a onclick="myFunction()" id="<?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?>"><?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?></a></td>
Poslat ajaxem proměnou id do souboru lyrics.php |
||
| Keeehi Profil |
#6 · Zasláno: 21. 2. 2015, 17:03:38
<a onclick="myFunction(this)" .... <script type="text/javascript">
function myFunction(e) {
var dataString = 'id1=' + e.id;
$.ajax({
type: "POST",
url: "lyrics.php",
data: dataString,
cache: false,
success: function(html) {
$("#test").html(response);
}
});
return false;
}
</script> |
||
| Radek9 Profil |
Michales:
Aha, už to chápu. V tom případě také není absolutně vhodné používat atribut id (kvůli možným kolizím a chybám), ale spíš nějaký data atribut:
<td><a onclick="myFunction(this)" data-id="<?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?>"><?php echo htmlSpecialChars($result['Title'],ENT_QUOTES); ?></a></td> function myFunction(e) {
var dataString = 'id1=' + e.getAttribute("data-id");
… |
||
| Michales Profil |
#8 · Zasláno: 21. 2. 2015, 17:07:37
Keeehi:
Děkuji moc, teď mi to háže chybu ReferenceError: response is not defined |
||
| Radek9 Profil |
#9 · Zasláno: 21. 2. 2015, 17:09:27
Michales:
Protože proměnná response neexistuje. Zkus se nad těmi chybami sám zamyslet. Parametrem té callback funkce je html.
|
||
| Michales Profil |
#10 · Zasláno: 21. 2. 2015, 17:22:18 · Upravil/a: Michales
Radek9:
Opraveno takto: success: function(data) {
$("#test").append(data);
}A když kliknu postupně na všech 14 řádků, jsou zobrazené informace ze všech 14 řádků. Měla by se zobrazovat vždy jen ta informace k řádku na který je kliknuto. Lze to také nějak řešit pomocí javascriptu? Děkuji za radu a za předešlou pomoc už vím, místo append má být html ;-)
|
||
|
Časová prodleva: 12 let
|
|||
0