在javascript

时间:2015-09-06 23:05:59

标签: javascript

这是我给出的指示:

包括2个文本框,供用户输入2个数字。建议用户输入0 in 第二个文本框,以便您可以显示除以0的结果。建议 用户输入字符串以查看结果。第一个操作就是看 除以0的结果。第二个操作是查看使用a的结果 数学运算中的文本字符串。按钮 - 调用函数和 显示结果

我的HTML:

        <form>
            Enter a number: <input type="number" id="number_box_1">
            Enter a number: <input type="text" id="number_box_2">
            <input type="button" value="Does Something" id="does_something" onclick="Division()">
            <input type="reset">
            results: <input type="text" id="math_results">
        </form>

我的javascript:

function Division(){
    var number_1 = document.getElementById("number_box_1").value;
    var number_2 = document.getElementById("number_box_2").value;
    // textbox where results will be shown
    var results_shown = document.getElementById("math_results").value; 

    results_shown = number_1/number_2;
}

我尝试了几件事,但还没有让它发挥作用。我想我可能需要使用parseint(),但即使经过一些阅读,我仍然不确定如何将它写入我的函数,或者如果这是正确的使用。我像我应该使用的东西,但不确定。我应该使用什么才能将number_box_1除以number_box_2?

4 个答案:

答案 0 :(得分:0)

您存储的是结果输入的值而不是对它的引用,因此您只是修改变量而不是实际值。

function Division(){
    var number_1 = document.getElementById("number_box_1").value;
    var number_2 = document.getElementById("number_box_2").value;
    // textbox where results will be shown
    var result = document.getElementById("math_results"); 

    result.value = number_1/number_2;
}
<form>
  Enter a number: <input type="number" id="number_box_1">
  Enter a number: <input type="text" id="number_box_2">
  <input type="button" value="Does Something" id="does_something" onclick="Division()">
  <input type="reset">
  results: <input type="text" id="math_results">
</form>

但是,我会这样做。

var box1 = document.getElementById("number_box_1");
var box2 = document.getElementById("number_box_2");
var result = document.getElementById("math_results");
var form = document.getElementById("form");

form.onsubmit = function(e) { 
    e.preventDefault(); // To disallow the form's submission
    result.value = box1.value/box2.value;
}
label { display: block; }
<form id="form">
  <label>Enter a number: <input type="number" id="number_box_1" required></label>
  <label>Enter a number: <input type="text" id="number_box_2" required></label>
  <label>results: <input type="text" id="math_results" readonly></label>
  <div><input type="reset"> <input type="submit" value="Evaluate"></div>
</form>

答案 1 :(得分:0)

而不是:

var results_shown = document.getElementById("math_results").value; 
results_shown = number_1/number_2;

你必须使用:

document.getElementById("math_results").value = number_1/number_2;

可运行的例子:

&#13;
&#13;
function Division(){
    var number_1 = document.getElementById("number_box_1").value;
    var number_2 = document.getElementById("number_box_2").value;
    // textbox where results will be shown
    document.getElementById("math_results").value = number_1/number_2; 
}
&#13;
<form>
            Enter a number: <input type="number" id="number_box_1">
            Enter a number: <input type="text" id="number_box_2">
            <input type="button" value="Does Something" id="does_something" onclick="Division()">
            <input type="reset">
            results: <input type="text" id="math_results">
        </form>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

您必须将结果放入.value属性。现在,您将其分配给results_shown变量。

此外,您必须小心使用表单,否则可能会导致页面帖子出现结果。

答案 3 :(得分:-1)

根据您必须手动检查function Division(){ var number_1 = document.getElementById("number_box_1").value; var number_2 = document.getElementById("number_box_2").value; // textbox where results will be shown var results_shown; try{ results_shown = parseInt(number_1)/parseInt(number_2); }catch(e){ results_shown = e; } document.getElementById("math_results").value = results_shown; }的响应然后输出到结果输入框,你不能有像除以0或逐字符串的错误。

但我想这是起点。

<form>
  Enter a number: <input type="number" id="number_box_1">
  Enter a number: <input type="text" id="number_box_2">
  <input type="button" value="Does Something" id="does_something" onclick="Division()">
  <input type="reset">
  results: <input type="text" id="math_results">
</form>
array(
    'a' => 1,
    'b' => 2,
    'c' => 3,
    'd' => 4
);