Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在“确认”对话框上单击“确定”时显示Div_Javascript - Fatal编程技术网

Javascript 在“确认”对话框上单击“确定”时显示Div

Javascript 在“确认”对话框上单击“确定”时显示Div,javascript,Javascript,这是我的代码: <form method="GET"> <input type="text" class="form" name="name" placeholder="Your name here!" id="name"> <input type="submit" onclick="return clicked();" value="I'm ready!"> </form> <br> <script> fu

这是我的代码:

<form method="GET">
    <input type="text" class="form" name="name" placeholder="Your name here!" id="name">
    <input type="submit" onclick="return clicked();" value="I'm ready!">
</form>
<br>
<script>
function clicked() {
    var name = document.getElementById('name').value;
    return confirm('Hello ' + name + ', great to see you!');
}
</script>


函数单击(){ var name=document.getElementById('name')。值; 返回确认(“你好”+name+,很高兴见到你!”; }
当用户单击警报上的“确定”时,是否可以使文本显示(不在警报框中)。此外,当文本出现时,是否可能使表单淡出

谢谢。


<script>
    function clicked() {
    var name = document.getElementById('name').value;
    var r = confirm('Hello ' + name + ', great to see you!');
    if (r==true)
      { 
      // Code to fadeOut form comes here: 
      // jquery:
      // $("form").fadeOut();
      // Pure JS: ( hides the form with ID "myform" )
      // document.getElementById("myform").style.display="none";
      // document.getElementById("id of thanks message").style.display="inline";
      }
    return r; // If you want to stay in this page just return false not r
}
</script>
函数单击(){ var name=document.getElementById('name')。值; var r=confirm('Hello'+name+',很高兴见到你!'); 如果(r==true) { //淡出表单的代码如下: //jquery: //$(“形式”).fadeOut(); //纯JS:(隐藏ID为“myform”的表单) //document.getElementById(“myform”).style.display=“无”; //document.getElementById(“感谢消息的id”).style.display=“inline”; } return r;//如果您想留在这个页面,只需返回false而不是r }

此外,我建议将此功能附加到表单提交而不是按钮点击。因为用户可以通过按Enter键提交表单。

将id作为JQuery的处理程序添加到表单中。然后添加一个占位符元素(在本例中是#reply user)向用户输出消息(问候语)。占位符是一种可以绕过警报弹出窗口的方法

<form id="your-form" method="GET">
<input type="text" class="form" name="name" placeholder="Your name here!" id="name">
<input type="submit" onclick="return clicked();" value="I'm ready!">
</form>
<h3 id="reply-user"></h3>
<br>

<script>
function clicked() {
var name = document.getElementById('name').value;
$('#your-form').fadeOut();
$('#reply-user').append('Hello ' + name + ', great to see you!');
}
</script>


函数单击(){ var name=document.getElementById('name')。值; $(“#您的表单”).fadeOut(); $('reply user').append('Hello'+name+',很高兴见到你!'); }
非常简单,根据您是单击“是”还是单击“否”来确认返回true还是false, 因此,当您得到true时,使表单显示none并将文本放入容器中

Js代码:

function clicked() {
var name = document.getElementById('name').value;
if(confirm('Hello ' + name + ', great to see you!'))
{
    document.getElementById('nameDiv').innerHTML = 'Hello ' + name + ', great to see you!';
    document.getElementById('mainDiv').style.display = "none";
}

}

Js Fiddle:

他没有使用jQuery。你说得对。但问题是确认后的事件,而不是如何淡出。你必须编写自己的淡出函数。我使用了jquery,如果您有jquery,也可以使用。请再次检查编辑后的答案。因为这个“淡出”的东西看起来很复杂,有没有办法让它消失,然后文本出现?我已经用jquery和纯JS更新了我的答案。祝你好运!这似乎是成功的关键。只有一个问题,如果我想在关闭mainDiv后显示另一个表单,我会怎么做?为此,可以使用document.getElementById('yourDiv').style.display=“block”;再次感谢您的学习。很抱歉经常有问题(我对JavaScript很陌生)。如何使id“yourDiv”仅在用户在警报中按ok时显示?这不是问题,请在if块中编写上述代码。您所说的“in if块”是什么意思?