JavaScript - 使用onClick on Button更改布尔值

时间:2017-11-10 06:12:49

标签: javascript html

在这里,我想改变输入框的值。我希望在用户点击Save按钮时更改值。

例如,输入框的默认值为False,但当用户点击“保存”按钮时,输入框中的值将更改为True

需要帮助解决条件逻辑。



function change() 
{

  var change = document.getElementById("check");
  if (change.value == "false") 
  {
    document.test.savereport = "True";
    document.test.submit();
  } 
  else 
  {
    change.value = "false";
  }
}

<form name="test" method="post">
  <input type="text" name="savereport" value="False" />
</form>

<div align="center">
  <button type="button" value="false" id="check" onclick="change()" />Save</button>
</div>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:0)

我生锈了确切的语法,但下面的代码应该

function change() 
{

  var change = document.getElementById("check");
  if (change.value == "1") 
  {
    change.value = false
    document.test.savereport = "True";
    document.test.submit();
  } 
  else 
  {
    change.value = true
  }
}

答案 1 :(得分:0)

我不明白为什么你需要经历为这个特殊要求阅读价值的所有麻烦。 您正在阅读该值,并将其与False进行比较,如果是,或保留True,则将其更改为False。 因此,基本上,无论先前的值是什么,您只是将值保留为False

因此,只需点击按钮即可更改savereport中的值。

<script>
function change() {
  document.getElementsByName("savereport")[0].value = 'True';
}
</script>

<form name="test" method="post">
    <input type="text" name="savereport" value="False" />
</form>

<div align="center">
  <button type="button" value="false" id="check" onclick="change()" >Save</button>
</div>

答案 2 :(得分:0)

删除按钮标记的自动关闭外,请替换

document.test.savereport = "True";

document.test.elements[ "savereport" ].value = "true"

<强>演示

function change() {
  var change = document.getElementById("check");
  if (change.value == "false") {
    document.test.elements["savereport"].value = "True";
    //document.test.submit();
  } else {
    change.value = "true";
  }
}
<form name="test" method="post">
  <input type="text" name="savereport" value="False" />
</form>

<div align="center">
  <button type="button" value="false" id="check" onclick="change()"> Save </button>
</div>

答案 3 :(得分:0)

问题中的代码未设置.value元素的<input type="text" name="savereport" value="False" />

您可以将value元素的<input type="text" name="savereport" value="false" />设置为"false",并将布尔值false评估为字符串以检查是否相等。

<form name="test" method="post">
  <input type="text" name="savereport" value="false" />
</form>

<div align="center">
  <button type="button" value="false" id="check" onclick="change()">Save</button>
  <script>
    var input = document.test.savereport;

    function change() {
      if (input.value === String(false)) {
        input.value = true;
        // document.test.submit();
      } else {
        input.value = false;
      }
      console.log(input.value);
    }
  </script>
</div>