我有这样的表格:
<form action"url.aspx">
</form>
用户必须能够选择pro或nonpro。如果用户选择pro,则必须选择action =“url1.aspx”如果用户选择pro,则必须选择action =“url2.aspx”。
答案 0 :(得分:1)
最好始终发布到同一页面,让该页面根据“pro”或“nonpro”的选择决定执行哪些代码。优点:不易出错。我认为即使没有javascript,你的表单也应该始终正常运行,尽管你可以使用JavaScript来使它更有用。通过使用JavaScript,您将允许用户在某些情况下将数据发布到错误的页面。
答案 1 :(得分:0)
你可以根据你的选择隐藏和显示div,这是最简单的方法
答案 2 :(得分:0)
您可以通过JavaScript / jQuery
操作表单的“action”属性$( your-form ).attr( 'action', 'url1.aspx' );
$( your-form ).attr( 'action', 'url2.aspx' );
因此,无论用户选择“pro”或“nonpro”(您没有提及我看不到任何代码)的任何机制,都要适当地操作表单的action属性。
答案 3 :(得分:0)
我同意charliegriefer的回答。这是最简单有效的方式。
我不同意GolezTrol的观点,即“将总是最好发布到同一页面和......”只有当您需要做一些常见的后期处理操作时,才可能但仍然你应该更好地调用可重复使用的功能。作为初学者,你可以坚持自己的感觉,但这并不意味着最好。
重定向到错误页面
我不同意这一点“通过使用JavaScript,您将允许用户在某些情况下将数据发布到错误的页面。”
如果由于你的逻辑错误(在一些你没有正确认为会出现的复杂情况下)进入错误的页面,那么这是你的错,你只会通过忽略javascript隐藏你的错误,并且会因为更多的延迟而导致多页重定向,可以避免的不必要的页面加载等。
在所有入口点(变量类型检查,强制参数检查)中对所有参数进行适当验证是非常重要的一点。如果发生错误的页面,这将保证安全性。如果它发生的话。
在没有javascript的情况下
所有现代浏览器都支持javascript。如果用户已关闭,则可以显示一条消息,但在较少的情况下会发生这种情况。用户可以看到消息“为了更好的体验/易用性,打开javascript”
这里最好的方法是使用服务器端逻辑(提交到相同的URL然后重定向)保持表单正常工作。通常情况下,在大多数情况下,用户将获得更好的UI。
初学者通常会忽略这些事情,或者在某些地方而不是在其他地方跟随。适当和最大可能的代码重用是大多数问题的关键。是的,准备最可重复使用的代码需要时间,但是在这里度过的时间总会在以后得到回报。