【问题标题】:Newbie: Need explanation of a Js function新手:需要一个Js函数的解释
【发布时间】:2014-06-24 23:37:06
【问题描述】:

所以我正在做一个与 HTML 和 JavaScript 相关的作业,我不需要对这些脚本和编程语言有任何先验知识。我被要求制作一个文档,解释 HTML 和 JavaScript 如何产生一个输入表单,以及 JavaScript 如何进行验证检查等。

<head>
  <title>Exam entry</title>
  <script language="javascript" type="text/javascript">

  function validateForm() {
    var result = true;
    var msg="";
    if (document.ExamEntry.name.value=="") {
      msg+="You must enter your name \n";
      document.ExamEntry.name.focus();
      document.getElementById('name').style.color="red";
      result = false;
    }

    if(msg==""){
      return result;
    }
    {
      alert(msg)
      return result;
    }
  }

  </script>
</head>
<body>
  <h1>Exam Entry Form</h1>
  <form name="ExamEntry" method="post" action="success.html">
    <table width="50%" border="0">
      <tr>
        <td id="name">Name</td>
        <td><input type="text" name="name" /></td>
      <tr>
        <td id="subject">Subject</td>
        <td><input type="text" name="subject" /></td>
      </tr>
      <tr>
        <td id="examnumber">Examination Number</td>
        <td><input type="text" name="examnumber" /></td>
      </tr>
      <tr>
        <td><input type="radio" id="examtype" name="examtype" /> : GCSE<br />
        <td><input type="radio" id="examtype" name="examtype"  /> : A2<br />
        <td><input type="radio" id="examtype" name="examtype" /> : AS<br />
      </tr>
      <tr>
        <td><input type="submit" name="Submit" value="Submit" onclick="return validateForm();"          />  </td>
        <td><input type="reset" name="Reset" value="Reset" /></td>
    </tr>
    </table>
  </form>
</body>

有一个任务,我需要为不同级别的条目创建 3 个额外的单选按钮,然后我需要创建一个进行确认检查的函数,要求用户在选择后确认或取消选择特定级别的条目。由于我没有任何编程知识(或者我在作业过程中学到了一点),所以我不知道如何创建函数。因此,我在谷歌上搜索并找到了这个page(顺便说一句,这是相同的任务)据我所知,我需要将单选按钮更改为:

<td><input type="radio" id="examtype" name="examtype" value="GCSE" /> : GCSE<br />
<td><input type="radio" id="examtype" name="examtype" value="A2" /> : A2<br />
<td><input type="radio" id="examtype" name="examtype" value="AS"/> : AS<br />

并实现这样的功能:

function confirmation() {
  var checked = null;
  var inputs = document.getElementsByName('examtype');
  for (var i = 0; i < inputs.length; i++) {
    if (inputs[i].checked) {
      checked = inputs[i];
      break;
    }
  }
  if(checked==null)
  {
    alert('Please choose an option');
    return false;
  } else {
    return confirm('You have chosen '+checked.value+' is this correct?');
  }

很好,现在我已经完成了它所说的,现在有一个警报框弹出并确认用户选择单选按钮,因此单击单选按钮将触发返回函数的onclick 事件。现在我的问题是这个函数如何进行确认检查? (对不起,如果我写的太多,我之前的帖子被一些人搁置了,因为我说的不够清楚。)

【问题讨论】:

  • 格式化你的代码和创建一个小提琴有很长的路要走。
  • OP 在使用 JSFiddle 的 onClick 属性中的命名函数时会遇到一些小问题,默认设置不会以这种方式工作:stackoverflow.com/questions/9114747/… 只是一个头脑向上:)

标签: javascript html function confirmation


【解决方案1】:

您需要观察点击事件并确定是否要允许该操作:

$(document).ready(function () {
    $('input[type="radio"]').on('click', function () {
        var r = confirm("Are you sure?");
        if (r == true) {
            $(this).prop('checked', true);
        } else {
            $(this).prop('checked', false);
        }
    });
});

http://jsfiddle.net/LTQ9p/1/

【讨论】:

  • 当你建议使用像 jQuery 这样的库并且 OP 的问题中没有提到这个库时,那么你应该告诉它以及你正在使用哪个库。
【解决方案2】:

只需在您的验证码中添加result &amp;= confirmation();。您的两个 if 语句之间的某个位置。

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 2021-11-24
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2011-09-28
    • 2019-02-07
    相关资源
    最近更新 更多