Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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表单&;特定于用户的操作?_Javascript_Database_Login - Fatal编程技术网

如何创建JavaScript表单&;特定于用户的操作?

如何创建JavaScript表单&;特定于用户的操作?,javascript,database,login,Javascript,Database,Login,我想创建一个弹出窗口或Javascript项目,允许用户接受为我完成报价的条款。一旦他们接受了条款,我希望他们同意的报价在账户下的一个部分或表格中标记为“报价” 请建议如何编写此代码。您可以使用javascripts确认。它将创建一个对话框,允许用户按“确定”或“取消”。您可以实现以下功能: <html> <head> <script type="text/javascript"> <!-- function confirmation() { v

我想创建一个弹出窗口或Javascript项目,允许用户接受为我完成报价的条款。一旦他们接受了条款,我希望他们同意的报价在账户下的一个部分或表格中标记为“报价”


请建议如何编写此代码。

您可以使用javascripts确认。它将创建一个对话框,允许用户按“确定”或“取消”。您可以实现以下功能:

<html>
<head>
<script type="text/javascript">
<!--
function confirmation() {
    var answer = confirm("Do you agree to the terms of Service?")
    if (answer){
        window.location = "http://yoursite.com/offers.html";
    }
    else{
        alert("You must agree to continue")
    }
}
//-->
</script>
</head>
<body>
<form>
<input type="button" onclick="confirmation()" value="Continue">
</form>
</body>
</html>

如果希望在加载页面时显示此对话框,可以将onLoad=“confirmation()”放在body标记中。除了javascript确认框之外,还有以下内容,我知道有些人真的不喜欢弹出窗口和确认:

<input type="button" onclick="window.location='http://yoursite.com/offers.html';" value="Agree">
<input type="button" onclick="alert('You must agree to the terms of service');" value="Disagree">

为什么不设置一个复选框,用户必须选中该复选框才能继续?如果未选中该复选框,则表单将不会提交,或者可能会出现错误消息,告知用户他不接受条款

除非有特定的原因需要使用JavaScript,否则我会尽量避免使用JavaScript实现这样的功能,特别是考虑到用户可以直接关闭JavaScript

例如(使用JavaScript阻止表单提交):


我同意这些条款。
在服务器端,我假设您拥有一个关系数据库。假设您有一个users表、offers表和users\u offers桥接表来表示哪些用户接受了哪些报价

使用上面的示例,如果agreeTerms返回的值为“1”,则只会向users\u offers桥接表添加一条新记录。如果未选中该复选框,则agreeTerms将没有值


如果您可以根据您的具体情况(您使用的服务器端语言、基本数据库表信息等)编辑您的问题,我将能够填写更多详细信息。

感谢您的快速回复!有没有办法让该报价的名称显示在用户下方,作为待定或已完成?例如:用户接受要约的服务条款>要约名称现在显示在“offers.html”页面的表或其他字段中。当然,您可以将用户指向山羊,而不是直接指向山羊。然后,您可以使用php或您正在使用的任何服务器端解决方案获取offers.html上的值。
<form name="offerForm" action="/offer" method="post" onsubmit="return this.elements['agreeTerms'].checked;">
    <!-- the rest of your form goes here -->
    <input type="checkbox" name="agreeTerms" id="agreeTerms" value="1" /> <label for="agreeTerms">I agree to the terms.</label><br />
    <input type="submit" value="Submit Offer Form" />
</form>