2015-02-26 6 views
-1

Так что я могу начать с того, что я очень новичок в javascript, поэтому, пожалуйста, не саркастически и не знаешь, что я знаю, что я прошу, вероятно, очень просто.Как вводить данные в функцию в javascript

Но сказать, что я хотел написать внешний Java-скрипт, который раз два числа вместе создать функцию, которая имеет

function test (x,y,z){ 

var test = (100*x)*(10y)*z 

alert (test)  
} 

как я затем связать его с текстовыми полями на HTML документа.

+0

Не используйте одно и то же имя для имени функции и имени переменной. Просто создает путаницу. Названия функций должны быть выражением глагола, например 'function computeRandomProduct() {...}' – BaseZen

+0

Изучите этот пример, который делает вид связи с HTML/JavaScript, которую вы хотите, а затем задайте более конкретный вопрос. https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById – BaseZen

+0

'10y' не является математическим exp здесь в' javascript' – itzMEonTV

ответ

0

Я действительно не знаю, что вы ищете. Что-то угадывает.

Полная программа определяет для вас просто copy and paste.

<!DOCTYPE html> 
<html> 

<input type="text" id="x" /> 
<input type="text" id="y" /> 
<input type="text" id="z" /> 
<input type=button onclick="test(x.value,y.value,z.value)" value="getResult"/> 

<script type="text/javascript"> 

function test (x,y,z){ 

var test = (100*x)*(10*y)*z 

alert (test)  
} 
</script> 
</html> 

Который дает 3 текстовых поля и button для ваших расчетов и alert

0

вы можете связать его с идентификатором, например

<input id="functionResult"> 

затем в JavaScript

documentgetElementById("functionResult").value=test(1,2,3); 

или JQuery

$("#functionResult).val(test(1,2,3)); 
0

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

<input id="number1" type="text" /> 
<input id="number2" type="text" /> 
<input id="number3" type="text" /> 
<input id="calculate" type="button" value="Calculate" /> 

и вы хотите обрабатывать событие щелчка на кнопке, чтобы исследовать три входа вы будет

document.getElementById("calculate")//locate the button element 
.onclick=function(){ //assign a click event handler to the button 
var x = document.getElementById("number1"); //locate the first number 
var y = document.getElementById("number2"); //locate the second number 
var z = document.getElementById("number3"); //locate the third number 

test(x,y,z); //call your test function 
};//end click event handler scope 
0

Для ввода данных в функцию:

test(2, 4, 99999); 

И для связывания HTML элементов в документе, есть есть много вариантов в зависимости от того, как настроен ваш HTML.

Заканчивать W3Schools' tutorial on DOM manipulation

0

Предположим, у вас есть текстовое поле как

<input type="text" id="myText" > 

тогда ваша функция может быть

function test (x,y,z){ 

var result = (100*x)*(10y)*z; 

document.getElementById("myText").value = result; 
} 
0

Хорошие ответы размещены, но имейте в виду, что это .. .

function test (x,y,z){ 

var test = (100*x)*(10y)*z 

alert (test)  
} 

необходимо изменить на ....

function test (x,y,z){ 

var number = (100*x)*(10y)*z; 

alert (number); 
} 

Поскольку каждая Java-команда должна заканчиваться точкой с запятой или интерпретатор будет думать, что две команды один.

Например, в вопросе Ора, в интерпретатор думает будет выполнять:

function test (x,y,z){ 
var test = (100*x)*(10y)*zalert (test)  
} 

и ошибка будет в тесте, zalert и (тест).

0

Похоже, что вы хотите получить входные данные из формы? Вы указываете «текстовое поле». Поэтому, если вы хотите рассчитать числа, пока пользователь вводит данные, или если вы хотите сделать это, как только они нажмут кнопку, вы можете использовать такие события, как onSubmit, onBlur, onFocus и т. Д., Которые могут вызывать функции.

Например:

<form> 
<input type="text" onBlur="test(this)" /> 
</form> 

Это будет срабатывать тест() каждый раз, когда элемент теряет фокус. Я передаю это «это», чтобы нацелить элемент, вызвавший событие.

Если вы хотите активировать функцию при отправке формы, то вы можете использовать onSubmit в форме, вы также можете использовать jQuery для обработки отдельной формы или всех форм.

<form name="yourForm" onSubmit="test(this)"> 
<input type="text" name="x" value="10" /> 
<input type="text" name="y" value="1" /> 
<input type="text" name="z" value="18" /> 
<input type="submit" /> 
</form> 

Вы можете получить значения х, у, г с помощью JQuery, как:

<script> 
function test(element){ 

    // Display the name of the element if you're curious 
    alert($(ele).attr('name')); 

    // I'm using Number() to convert the values to numbers 
    // Using .find() to search descendants of element for an input 
    // with a certain name. 
    // If you fired this function from the element itself you 
    // could use $(element).val(); to get its value 
    var x = Number($(element).find('input[name="x"]').val()); 
    var y = Number($(element).find('input[name="y"]').val()); 
    var z = Number($(element).find('input[name="z"]').val()); 

    var total = x*z-y; 

    // total = 179 
    alert(total); 

} 
</script> 

Я надеюсь, что это поможет вам понять это!

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