JavaScript:确认对话框显示文本框中的值

4
有没有一种方法可以在确认对话框中显示用户在表单文本框中输入的值?(例如,如果用户键入100.00,则希望对话框显示类似于“确认金额。如果100.00美元是正确的金额,请单击确定”这样的消息。)
3个回答

5
是的:
var amount = document.getElementById("textbox").value;
confirm("Confirm Amount. Click OK if $" + amount + " is the correct amount.")

编辑:这里有一个可用的示例:http://jsbin.com/inoru/edit

谢谢回复。我一定漏掉了什么。表单提交时没有弹出确认对话框。这是我提交按钮的代码:<input type="submit" value="继续" onclick="confirm_amount();" /> 这是我的脚本代码:<script type='text/javascript'> <!-- function confirm_amount() var payment = document.getElementById("amount").value; confirm("确认金额。如果$" + payment + "是正确的金额,请点击确定。") //--> </script> - Spockrates
好的,你可以直接修改代码以适用于按钮。我只是用表单作为示例。将表单中的 onsubmit 移到提交按钮上,并将其更改为 onclick 即可。它会起到同样的作用。 - spinon
再次感谢。确认消息有效,但是当我点击取消时,表单仍然会提交。这是我为提交按钮编写的代码:<input type="submit" value="继续" alt="保存预定付款" title="保存预定付款" onclick="ConfirmAmount();" /> 这是我为脚本编写的代码:<script type='text/javascript'> <!-- function ConfirmAmount(){ var payment = document.getElementById("amount").value; return confirm("确认金额。如果$" + payment + "是正确的金额,请单击确定。"); } //--> </script> - Spockrates
表单使用POST方法:<form action="/PP?PAGE=ADDSCHEDULEDPAYMENT" method="post" name="paymentform" id="paymentform"> - Spockrates
你太棒了!谢谢,Spinon。你和Justin一直是很大的帮助。 :) - Spockrates
显示剩余4条评论

1

当然,您可以将字符串值直接传递给对话框:

var str = "my msg";
confirm(str);

为了显示您的自定义信息,只需获取文本框的值并将其附加到您的消息中。例如:
var amount = jQuery("#myTextBox").val();
confirm("Click OK if " + amount + " is the correct amount");

我提供了一个普通的JavaScript方法,但是我建议使用jQuery +1 的方法。 - jgemedina
谢谢回复。我一定是做错了什么,因为对话框没有弹出来。以下是脚本:<script type='text/javascript'> <!-- function confirm_amount() var payment = jQuery("#amount").val(); confirm("如果 " + payment + " 是正确的金额,请点击确定"); //--> </script> 这是按钮:<input type="submit" value="继续" onclick="confirm_amount();" /> - Spockrates
谢谢。页面上的jQuery日期选择器运行良好。我正在指向这个文件:<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script> 注释是为了防止旧浏览器在页面上显示js代码;它不会阻止代码运行。 - Spockrates
嗯...也许你应该更新你的问题,包括你正在使用的代码。这样我们就可以清楚地看到标记的代码,并建议可能存在的问题。 - Justin Ethier
谢谢,贾斯汀。今天我感觉有点慢(没睡好)。你能为我详细解释一下并打出一个示例代码吗? - Spockrates
显示剩余4条评论

0
你应该检查文本框的onblur事件,如果文本框不为空,则显示消息,类似这样:
document.getElementById('textboxid').onblur = function(){
    if(this.value.length > 0 )
        showApplicationMessage()
}

谢谢。但我不是在尝试验证文本字段。我正在尝试获取对话框以显示用户在文本字段中输入的值。 - Spockrates
你看,我正在尝试让网络表单更加智能化。我想通过要求用户点击“确定”来询问她是否在文本框中输入了正确的金额,或者如果她点击“取消”,则终止表单的提交。 - Spockrates

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接