如何创建JavaScript表单&用户具体行动?

时间:2009-02-19 09:32:32

标签: javascript database login

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

请告知如何编码。

2 个答案:

答案 0 :(得分:1)

您可以使用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>

如果您希望在页面加载时显示此对话框,则可以在body标记中放置onLoad =“confirmation()”。并且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">

答案 1 :(得分:0)

为什么没有用户必须检查以便继续的复选框,而不是侵入式弹出窗口?如果未选中该复选框,则表单将不会提交或显示错误消息,告知用户他不接受这些条款。

除非有特殊原因需要使用JavaScript,否则我会尝试远离JavaScript以获得此类功能,特别是考虑到用户可以关闭JavaScript。

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

<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>

在服务器端,我假设你有一个关系数据库背后的一切。假设您有一个用户表,一个商品表和一个users_offers桥表,用于表示哪些用户已接受哪些商品。

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

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