javascript变量调用不能处理以下代码

时间:2017-09-12 16:15:32

标签: javascript

以下代码无效...... 首先,我想要这些选定的值(通过sentvalue()和receivevalue()) 然后想在另一个(sent())函数上使用那些选定的值..

这是html代码 -

<select class="form-control"  id="sents" onchange="sentvalue(this) " >
        <option value="0" >-- Select One --</option>
        <option value="1" ">1</option>
        <option value="2" >2</option>
        <option value="3" >3</option>
        <option value="4" >4</option>
        <option value="5" >5</option>
        <option value="6" >6</option>
        <option value="7" >7</option>

       </select>
        <select class="form-control" id="receives" onchange=" receivevalue(this); counter2(this); " >
        <option value="0">-- Select One --</option>
        <option value="1" onclick="i();">1</option>
        <option value="2" >2</option>
        <option value="3" >3</option>
        <option value="4" >4</option>
        <option value="5" >5</option>
        <option value="6" >6</option>
        <option value="7" >7</option>

       </select>
<input type="number" id="sent2" onkeyup="sent()" class="form-control" name="number">
<p class="form-control" id="receive2" type="number" name="number" disabled>

我想在sent()函数中使用receivevalue()和sentvalue()但它不起作用...

var x,y;
function receivevalue(selv) {

var y = selv.options[selv.selectedIndex].value;}
function sentvalue(selv) {

var x= selv.options[selv.selectedIndex].value;
}

    function sent(){
        receivevalue();
        gett=y;
        sentvalue();
        putt=x;
        if(gett==1 && putt==1){
            var userinput=document.getElementById('sent2').value;
            var news=(userinput/88).toFixed(2);
            document.getElementById('receive2').innerHTML=news;
        }
    }

我想在sent()函数中使用sentvalue()变量x和receivevalue()变量y。请解决我的问题..

2 个答案:

答案 0 :(得分:0)

function sent(){
        rselv = document.getElementById('receives');
        receivevalue(rselv);
        get=y;
        sselv = document.getElementById('sents')
        sentvalue(sselv);
        put=x;
        if(get==1 && put==1){
            var userinput=document.getElementById('sent2').value;
            var news=(userinput/88).toFixed(2);
            document.getElementById('receive2').innerHTML=news;
        }
    }

答案 1 :(得分:0)

首先, sentevalue 中存在拼写错误。它应该是 sentvalue

然后你的x,y变量是全局的。你不应该在函数内重新声明它们。

var x,y;

function receivevalue(selv) {
    y = selv.options[selv.selectedIndex].value;
}

function sentvalue(selv) {
    x = selv.options[selv.selectedIndex].value;
}

既然你在全局变量中有值x和y,那么发送函数就可以这样编写。

function sent(){
 if(x==1 && y==1){
  var userinput=document.getElementById('sent2').value;
  var news=(userinput/88).toFixed(2);
  document.getElementById('receive2').innerHTML=news;
 }
}

正确的HTML是:

<select class="form-control"  id="sents" onchange="sentvalue(this)">
 <option value="0" >-- Select One --</option>
  <option value="1" >1</option>
  <option value="2" >2</option>
  <option value="3" >3</option>
  <option value="4" >4</option>
  <option value="5" >5</option>
  <option value="6" >6</option>
  <option value="7" >7</option>
</select>

<select class="form-control" id="receives" onchange="receivevalue(this); counter2(this);">
  <option value="0">-- Select One --</option>
  <option value="1" onclick="i();">1</option>
  <option value="2" >2</option>
  <option value="3" >3</option>
  <option value="4" >4</option>
  <option value="5" >5</option>
  <option value="6" >6</option>
  <option value="7" >7</option>
</select>

<input type="number" id="sent2" onkeyup="sent()" class="form-control" name="number">

<p class="form-control" id="receive2" type="number" name="number" disabled>