Остальное не работает, потому что нет элемента с идентификатором, который вы искали. getElementById
терпит неудачу, и остальная часть вашего кода не была выполнена, классический runtime exception
. Также измените имя ваших переменных, потому что может быть конфликт между этими переменными и соответствующими идентификаторами элементов. Для современных браузеров используйте атрибут textContent
вместо innerHTML
.
<!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>Test page</title>
<script type="text/javascript">
function similarfunction(){
var price_A1307 = 5.54;
var span_A1307 = document.getElementById('A1307');
if (span_A1307) span_A1307.textContent = price_A1307;
var price_G2200 = 6.33;
var span_G2200 = document.getElementById('G2200');
if (span_G2200) span_G2200.textContent = price_G2200;
var price_G5200 = 5.51;
var span_G5200 = document.getElementById('G5200');
if (span_G5200) span_G5200.textContent = price_G5200;
var price_N3633 = 6.31;
var span_N3633 = document.getElementById('N3633');
if (span_N3633) span_N3633.textContent = price_N3633;
var price_TS105 = 5.54;
var span_TS105 = document.getElementById('TS105');
if (span_TS105) span_TS105.textContent = price_TS105;
}
</script>
</head>
<body onLoad="similarfunction()">
A1307 is [110]lt;span id="A1307"></span><br><br>
G2200 is [110]lt;span id="G2200"></span><br><br>
G5200 is [110]lt;span id="G5200"></span><br><br>
N3633 is [110]lt;span id="N3633"></span><br><br>
TS105 is [110]lt;span id="TS105"></span><br><br>
</body>
</html>
Переместите условие в оператор Where к условию объединения.
SELECT Documents.name, HasDownloaded.id FROM Documents
LEFT JOIN HasDownloaded ON HasDownloaded.documentID = Documents.id
AND HasDownloaded.memberID = @memberID
Это необходимо каждый раз, когда Вы хотите отослать к оставленной внутри объединяемой таблице, что иначе было бы оператором Where.
WHERE HasDownloaded.memberId IS NULL OR HasDownloaded.memberId = @memberId
был бы нормальный способ сделать это. Некоторые сократили бы его к:
WHERE COALESCE(HasDownloaded.memberId, @memberId) = @memberId
, поскольку Matt B. показывает, можно сделать это в Условии объединения - но я думаю, что это, намного более вероятно, смутит людей. Если Вы не понимаете, ПОЧЕМУ перемещение его в работы пункта СОЕДИНЕНИЯ, то я настоятельно рекомендовал бы избегать его.
@Mark: Я понимаю, почему синтаксис СОЕДИНЕНИЯ работает, но благодарит за предупреждение. Я действительно думаю, что Ваше предложение более интуитивно. Мне было любопытно видеть, который был более эффективным. Таким образом, я запустил быстрый тест (это было довольно упрощенно, я боюсь только по 14 строкам и 10 пробным версиям):
В Условии объединения:
AND HasDownloaded.memberID = @memberID
В операторе Where:
WHERE HasDownloaded.memberId IS NULL OR HasDownloaded.memberId = @memberId
похоже, что оператор Where очень немного более эффективен. Интересный! Еще раз, благодаря вам обоим для Вашей справки.