2015-06-12 2 views
0

beginner to html, javascript и переполнение стека, так что расслабьтесь на мне. Я пытаюсь получить мой HTML всплывал дисплей, который будет использовать функцию внешнего JS-файл, чтобы сделать расчеты, но сейчас я буду держать это просто:внешняя функция javascript и кнопка html

function findA(x, y, z) { 
    var I = (x*100); 
    var N = (y/100); 
    var S = (z+50); 
    document.write(x,y,z); 
    } 

, что это все есть в JS файл, теперь на html:

<!DOCTYPE html> 
    <head> 
     <meta charset="utf-8" /> 
     <!--[if lt IE 9]> 
      <script src="scripts/main.js"></script> 
     <![endif]--> 
    </head> 
    <body> 
     <article> 
     <form> 
     <fieldset id="button"> 
      <input type="submit" id= "submit" value= "Calculate" onsubmit='findA(1,5,8)'> 
     </fieldset> 
     </form> 
     </article> 
    </body> 

thats it для html. он должен просто отображать одну кнопку на экране html. не уверен, что делать послесловие, поэтому любая помощь будет принята с благодарностью!

EDIT: *

мой новый код это:

<!DOCTYPE html> 
    <head> 
     <meta charset="utf-8" /> 
     <!--[if lt IE 9]> 
      <script src="scripts/main.js"></script> 
     <![endif]--> 
    </head> 
    <body> 
     <article> 
     <form> 
     <fieldset id="button"> 
      <input type="button" id= "submit" value= "Calculate" onclick='alert(monthly(1,5,8))'> 
     </fieldset> 
     </form> 
     </article> 
    </body> 

и файл JS является:

function monthly(x, y, z) { 
var I = (x*100); 
var N = (y/100); 
var S = (z+50); 
var A = ("I: " + I + "N: " + N + " S: " + S); 
return A; 
    } 

пока ничего не происходит, когда я нажимаю Calculate. Я использую хром для проверки этого, а также Internet Explorer. Я не понимаю, что может быть неправильным в этом. предложение?

+0

Это не совсем ясно для меня, что вы хотите достичь. Вы хотите написать вывод своей функции в верхней части своей страницы, не так ли? Или хотите засунуть всплывающее окно? Я думаю, что элемент должен был быть закрыт -> czupe

ответ

0

Используйте onclick вместо onsubmit.

function findA(x, y, z) { 
 
    var I = (x*100); 
 
    var N = (y/100); 
 
    var S = (z+50); 
 
    document.write(x,y,z); 
 
    }
<fieldset id="button"> 
 
    <input type="submit" id= "submit" value= "Calculate" onclick='findA(1,5,8)'> 
 
</fieldset>

1

Во-первых, изменить свой "document.write" в "return" в вашем JavaScript. document.write удалит существующий HTML в документе и не предоставит вам всплывающее окно.

Для остальных, есть несколько подходов, но я бы предложил, что самое простое предложение было бы принять эту линию:

<input type="submit" id= "submit" value= "Calculate" onsubmit='findA(1,5,8)'> 

и изменить его (обновлено):

<input type="button" id= "submit" value= "Calculate" onclick='alert(monthly(1,5,8))'> 

EDIT: следующие jsfiddle работы: (https://jsfiddle.net/7stL2cmL/12/)

<!DOCTYPE html> 
<body> 
    <head> 
     <script type="text/javascript"> 
     function monthly(x, y, z) { 
    var I = (x * 100); 
    var N = (y/100); 
    var S = (z + 50); 
    var A = ("I: " + I + "N: " + N + " S: " + S); 
    return A; 
     } 
     </script> 
     </head> 

    <article> 
     <form> 
      <fieldset id="button"> 
       <input type="button" id="submit" value="Calculate" onclick='alert(" dddd"+monthly(1,5,8))'> 
      </fieldset> 
     </form> 
    </article> 
</body> 
+0

ничего не происходит для некоторых причина. я вижу логику этого, но когда я нажимаю вычисление, всплывающее не появляется. Я не понимаю, почему это происходит. я изменил код: document.write(); вернуться; а также добавление x y и z к новому var A (сумма), но ничего не работает. я попробовал Google Chrome, а также Internet Explorer. –

+0

Там! Необходимо предупредить функцию, которая фактически вернула значение. Document.write ничего не вернет. Посмотрите, как это работает для вас. –

+0

все еще ничего ... им интересно, если его какая-то ошибка через браузер (не должно быть). плохой пост новый код я использовал код ур для изменения. проверьте часть редактирования еще раз. –

0

first ;: html покажет кнопку, но документ.записи никогда не будет замечено пользователем befouse выполняется onsubmit, если вы тусклый, чтобы проверить вы должны изменить функцию как этот

function findA(x, y, z) { 
     var I = (x*100); 
     var N = (y/100); 
     var S = (z+50); 
     document.write(x,y,z); 
     return false; 
    } 

, а затем в HTML представить использование:

<input type="submit" id= "submit" value= "Calculate" onsubmit='return findA(1,5,8)'> 

второе: сценарий включает в себя, он будет работать только для интернет-исследователя 9 или менее, поэтому, если вы тестируете браузер, который не соответствует этой версии, изменить условное обозначение

0

Никто не замечает, но ваш входной элемент должен быть закрыт:

<input type="submit" id= "submit" value= "Calculate" onsubmit='findA(1,5,8)'> 

Как это:

<input type="submit" id= "submit" value= "Calculate" onsubmit='findA(1,5,8)'/> 
0
<!DOCTYPE html> 
    <head> 
     <meta charset="utf-8" /> 
     <!--[if lt IE 9]> 
      <script src="scripts/main.js"></script> 
     <![endif]--> 
    </head> 
    <body> 
     <article> 
     <form> 
     <fieldset id="button"> 
      <input type="submit" id= "submit" value= "Calculate" onclick='findA(1,5,8)'> 
     </fieldset> 
     </form> 
     </article> 
    </body> 

изменение onsubmit к OnClick, как вы не использовали форму там.

новый код Javascript для отображения всплывающих

function findA(x, y, z) { 
      var I = (x*100); 
      var N = (y/100); 
      var S = (z+50); 
      alert(I+N+S); 
     } 

надеюсь, что это помогает

0

один вопрос, ли внешние main.js файл? Если это так, то только IE9 и ниже смогут понять условные комментарии <!--[if lt IE 9]> ... <![endif]-->. Поместите ссылку на main.js вне условных комментариев, как

<head> 
    <meta charset="utf-8" /> 
    <script src="scripts/main.js"></script> 
</head> 

Для получения более подробной информации об условных комментариях вы можете обратиться http://www.quirksmode.org/css/condcom.html

+0

wow спасибо, что сделал. Я думал, что комментарий предназначен для IE 9 и выше. –

+0

Добро пожаловать :) – debatanu

Смежные вопросы