Javascript - 在onclick上将if else函数的警报添加到新窗口

时间:2014-07-17 02:15:29

标签: javascript function if-statement alert

所以我一直在研究这个问题几天,作为一个新手,我认为答案真的有助于我理解JavaScript。

我有一个包含表单的页面 - 当用户提交表单时,会打开一个新窗口,其中窗口中的表单变量嵌入在新窗口中。它工作正常。

我遇到的问题是,如果用户onClick在NY ||中输入,我想向新窗口添加警报纽约||新泽西州||新泽西州。我测试了我的if函数(在做了一些研究后我遗漏了其他的东西,因为其他的东西确实什么都没做。

我希望它工作的方式是,如果有人键入这四个变量中的一个,则会打开一个带有警报的新窗口。如果他们没有输入其中一个变量,则只会打开新窗口。

我准备了一个截断的测试代码,我将在下面提出。我知道有更好的方法可以做到这一点,然后我写的代码,我打赌有更简单的方法与库,jquery等,但我希望有人告诉我如何添加askForHelp函数,所以它会使用我编写的代码在新窗口中打开警报。再说一次,那是b / c这是我的知识基础,这将有助于我看到如何真正写出一个陈述。提前感谢您提供的任何帮助。

   <!doctype html>
   <html>
     <head>
       <title>test</title>
       <meta charset="utf-8">

       <script type="text/javascript">



   function newWindow() {
     allInfo= open("", "displayWindow");

   allInfo.document.open();

     allInfo.document.write('<!doctype html><html><head><title>Test</title><meta charset="utf-8"></head><body>');
     allInfo.document.write(document.getElementById ('state').value);
     allInfo.document.write('<p>' + document.getElementById ('zip').value);
     allInfo.document.write('</section></body></html>');

     allInfo.document.close();
    }

   function askForHelp () {

   var volunteer = document.getElementById('state').value;

   if (volunteer == "New York" || "NY" || "New Jersey" || "NJ") { 
   allInfo.document.open.alert("test test test"); //Do I put the statement here?
  }  // else do nothing

    }
       </script>

      </head>

   <body>
     <script type="text/javascript">
      </script>

     <form id="infoForm" method="post" name="infoForm">
      <p>State: </p>
      <p><input type="text" id="state" placeholder="State or Region"></p>

    <p>Zip: </p>
    <p><input type="text" id="zip" placeholder="Zip code" required /></p>


     <p><input type="button" value="Submit Information" onClick="newWindow(), askForHelp()" ></p> <!-- Should askForHelp() be here? -->
     </form>
      </body>
       </html>   

2 个答案:

答案 0 :(得分:0)

由于我使用JSFiddle,它不会让我放document.write但你仍然可以如何工作..看看这个Fiddle,下面是我的变化制成..

HTML:

 <p><input type="button" id="submit-btn" value="Submit Information" ></p> 

JS:

function newWindow() {
    alert("New Window");
}

function askForHelp () {
    var volunteer = document.getElementById('state').value;
    if (volunteer == "New York" || volunteer == "NY" || volunteer == "New Jersey" || volunteer == "NJ") { 
        alert("test test test");
    }
}
document.getElementById('submit-btn').addEventListener("click", function(){
    newWindow();
    askForHelp();
});

答案 1 :(得分:0)

您的代码中有3个问题:

1-您正在尝试为id = country的元素获取值,并且您没有任何id = country

的元素
allInfo.document.write('<p>' + document.getElementById ('country').value);

2- alert()函数附加到窗口对象而不是文档对象。因此,当您想要在新窗口中调用警报时,您应该这样调用它:

allInfo.alert("blah blah");

3-代码中的If条件将始终返回true,它应该被修改,如下所示:

if((volunteer == "New York") || (volunteer =="NY") || (volunteer =="New Jersey") || (volunteer =="NJ"))

我已在此jsFiddle中进行了上述修改。请检查一下。