在javascript中使用if和else填充表单

时间:2014-08-12 06:36:14

标签: javascript forms

这适用于自动填充脚本。

我使用表单获取输入,在提交时,它会填充另一个表单并自动保存。

输入表单有或没有问题。如果选择yes,则应在主窗体的某个字段中返回一个整数值。 如果选择“否”,则应返回另一个整数值。

我使用了If Else语句,但它无效。

用下面的例子解释。

我创建了一个函数并调用它。

returnStr[1] = PriorText();

returnStr [1]是必须用整数

填充的表单字段

功能如下。

function PriorText(){

if(document.getElementById('Vendortxt_2').value=='yes')
    returnStr[1] = "3"
else
    returnStr[1] = "4"
}

Vendortxt_2是持有"是"或"否"答案

请在我错的地方帮助我并纠正。

1 个答案:

答案 0 :(得分:0)

你没有解释问题是什么,但我可以看到一个问题......

拨打以下电话returnStr[1] = PriorText();不会将3或4分配给returnStr[1];因为你没有从函数PriorText()返回它。

...由于PriorText()没有返回语句,您可能会看到returnStr[1]包含未定义:例如:

returnStr[1] = PriorText();
alert(returnStr[1]); // << shows the message *undefined*

也许这个小提琴可以帮助http://jsfiddle.net/hy1e4n5k/

选项1

因此,您需要更改PriorText()以返回值3或4

function PriorText() {
    if(document.getElementById('Vendortxt_2').value=='yes')
        return "3";
    else
        return "4";
}

returnStr[1] = PriorText();
alert(returnStr[1]); // shows either 3 or 4

选项2

或者您坚持使用原始功能而不是在通话中分配

function PriorText(){
    if(document.getElementById('Vendortxt_2').value=='yes')
        returnStr[1] = "3"
    else
        returnStr[1] = "4"
}

PriorText(); // just call it, don't assign result since there is no result returned!
alert(returnStr[1]); // shows either 3 or 4