Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему данный скрипт работает только в IE? (https://javascript.ru/forum/misc/14763-pochemu-dannyjj-skript-rabotaet-tolko-v-ie.html)

hacker_007 29.01.2011 23:13

Почему данный скрипт работает только в IE?
 
Почему данный скрипт работает только в IE?
<script language="JavaScript" type="text/javascript">
function pl()
{
var a = document.getElementById('a').value;
var b = document.getElementById('b').value;
var c = document.getElementById('c').value;
var k = b/2
var disc = k * k - a * c
x1 = -(k + Math.sqrt(disc))/a
x2 = -(k - Math.sqrt(disc))/a
x4 = -(k/a)
if(disc > 0){
document.getElementById('res').value = "Дискриминант больше 0, решение есть. D=" + disc + ". X1=" + x1 + ", X2=" + x2 +".";
}
else if (disc < 0){
document.getElementById('res').value = "Дискриминант меньше 0, решения нет. D=" + disc + ".";
}
if(disc == 0){
document.getElementById('res').value = "Дискриминант равен 0, решение есть. D= " + disc + " и X= " + x4 + ".";
}
else{
}
}
pl();
</script>
    <form>
    <div id=pl>
    <strong>Введита значение A:</strong>
    <input id="A" type="text" size="30" /><BR />
    <strong>Введита значение B:</strong>
    <input id="B" type="text" size="30" /><BR />
    <strong>Введита значение C:</strong>
    <input id="C" type="text" size="30" /><BR />
    <p><strong>Результат:</strong><BR />
    <textarea id="res" rows="3" cols="43"></textarea></p>
    <input OnClick="pl();return false;" type=submit value=Высчитать>
    </div>
    </form>

Может есть ошибки? в мозиле, хроме, отказывается работать(

PeaceCoder 30.01.2011 01:14

А ничего что у вас функция запускается раньше ввода значений и у вас происходит деление на 0.

pl();
уберите

Во вторых

id="A" и getElementById('a') должны соблюдать регистр (вроде?)

monolithed 30.01.2011 02:20

Цитата:

Сообщение от PeaceCoder
id="A" и getElementById('a') должны соблюдать регистр (вроде?)

почему вроде? ;) меня аж переклинило, что вспомнил про регистрозависимость элементов в xhtml :D

Цитата:

Сообщение от hacker_007
<div id=pl>

и т.д. проставьте везде кавычки, в общем приведите код в порядок

как вариант:
<script type="text/javascript">
window.onload = function(){
    var input = document.getElementsByName('input'),
        a = input[0].value,
        b = input[1].value,
        с = input[2].value,
        d = input[3].value;
    
    document.forma.onsubmit = function(){
        /* остальной код */
        return false;
    };
};
</script>

<form name="forma" action="" method="post">
     <label>Введита значение A:</label>
     <input name="input" type="text" size="30" /><br />
     <label>Введита значение B:</label>
     <input name="input" type="text" size="30" /><br />
     <label>Введита значение C:</label>
     <input name="input" type="text" size="30" /><br />
     <label>Результат:</label><br />
     <textarea name="input" rows="3" cols="43"></textarea>
     <input type="submit" value="Высчитать" />
</form>


PS: вы уверены, что событие submit вам вообще нужно?

hacker_007 02.02.2011 18:14

регистр не заметил.... Исправил, норм всё) Спасиб)

Lakrein 08.09.2011 16:58

Та-же проблема....
<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQ IAAAAKm03tDAuey-SeZ7K9aNi1BTTpGjT-0ytesDrYcz-TTkc9Pol_RTf3H5egm5ui4oc-1lxmpjJEqe3Ow"></script>

Заранее признателен.


Часовой пояс GMT +3, время: 03:41.