这有点令人困惑解释,所以在这里忍受我...
我想建立一个系统,用户可以通过我的网站发送模板化的电子邮件,除非它实际上并没有使用我的服务器发送 - 它只是打开他们自己的本地邮件客户端,并准备好电子邮件.应用程序将使用预定义变量填充电子邮件正文,以保存用户必须自己键入.然后,如果消息不完全符合他们的目的,他们可以根据需要编辑消息.
我希望它通过用户的本地邮件客户端有很多原因,因此让服务器发送电子邮件不是一个选择:它必须是100%客户端.
我已经有一个主要运行的解决方案,我会发布详细信息作为答案,我想知道是否有更好的方法?
我在客户端使用react和react-router作为我的应用程序.我似乎无法弄清楚如何从网址获取以下查询参数:
http://xmen.database/search#/?status=APPROVED&page=1&limit=20
Run Code Online (Sandbox Code Playgroud)
我的路线看起来像这样(我知道路径是完全错误的):
var routes = (
<Route>
<DefaultRoute handler={SearchDisplay}/>
<Route name="search" path="?status=:status&page=:page&limit=:limit" handler={SearchDisplay}/>
<Route name="xmen" path="candidate/:accountId" handler={XmenDisplay}/>
</Route>
);
Run Code Online (Sandbox Code Playgroud)
我的路线工作正常,但我不知道如何格式化路径以获取我想要的参数.感谢任何帮助!
javascript client-side client-side-scripting reactjs react-router
Is there a system/framework in existence which focuses on providing tutorial / help like overlays in the browser?
Example: You have a webapp which requires a certain level of instruction to the user. In this instruction process you wish to "highlight" (e.g. arrow, colour shading, pulsing border, etc) a certain element on the page, with an accompanied message.
This would be a true overlay, so it would function only in absolute positioning, and not interfere with the existing layout.
I'm …
我想通过使用该map()函数来过滤项目数组.这是一段代码:
var filteredItems = items.map(function(item)
{
if( ...some condition... )
{
return item;
}
});
Run Code Online (Sandbox Code Playgroud)
问题是过滤掉的项目仍然使用数组中的空间,我想完全消除它们.
任何的想法?
编辑:谢谢,我忘了filter(),我想要的实际上是filter()一个map().
EDIT2:感谢您指出map()并且filter()并未在所有浏览器中实现,尽管我的特定代码并不打算在浏览器中运行.
javascript functional-programming client-side data-manipulation
这将获得我在下拉菜单中选择的任何值.
document.getElementById('newSkill').value
Run Code Online (Sandbox Code Playgroud)
但是,我无法找到下拉菜单当前显示的文本所需的属性.我尝试了"文本",然后看了W3Schools,但没有答案,这里有人知道吗?
对于那些不确定的人,这是下拉框的HTML.
<select name="newSkill" id="newSkill">
<option value="1">A skill</option>
<option value="2">Another skill</option>
<option value="3">Yet another skill</option>
</select>
Run Code Online (Sandbox Code Playgroud) 到现在为止,我主要是利用Struts 2,Spring,JQuery用于构建Web应用程序技术堆栈.关键是,提到的堆栈使用服务器端MVC模式.Web浏览器的主要作用仅限于请求/响应周期(+客户端验证).数据检索,业务逻辑,布线和验证主要是服务器端的职责.
我对AngularJS框架的几个问题很少受到我读过的以下引文的启发:
来自AngularJS教程:
对于Angular应用程序,我们鼓励使用模型 - 视图 - 控制器(MVC)设计模式来分离代码并分离关注点.
模型 - 视图 - 控制器(MVC)是一种将信息表示与用户与之交互分离的体系结构.该模型由应用程序数据和业务规则组成,控制器调解输入,将其转换为模型或视图的命令
AngularJS使用客户端MVC模式.所以我想没有其他选择那么以某种方式也将验证逻辑包含在客户端?
编写健壮的AngularJS应用程序的最佳方法是什么?客户端的MVC和服务器端的某种MC(型号,控制器)?
这是否意味着,MODEL和CONTROLLER在某种程度上是重复的(客户端/服务器)?
我知道我的问题有些奇怪,但我认为原因是,我在某种程度上习惯了传统的服务器端MVC模式.我确信有人已经完成了相同的过渡.
javascript model-view-controller server-side client-side angularjs
我有一个上传控件用于将图像上传到服务器,但在上传之前我只想确保图像的尺寸是否正确.客户端是否可以使用javascript完成任何操作?
如果是,是否建议使用任何框架/教程/提示/等?
N00b在Python,但我有大量的PHP经验,并希望扩展我的技能.
我知道Python在服务器端执行方面很出色,只是想知道客户端.
继本文后,对自定义属性执行客户端验证
我试图了解如何执行此操作,将其他参数传递给客户端脚本
据我所知,到目前为止,使用MVC 3实现自定义验证需要以下内容
基于ValidationAttribute并实现IClientValidatable.我还看到了一些源自ModelValidator的示例,它似乎实现了ValidationAttribute和IClientValidatable的功能.所以这是关于差异是什么或者ModelValidator是否在MVC 2中使用但现在已被弃用或者是什么的第一个混淆点?
必须从GetClientValidationRules()返回ModelClientValidationRule的实例以指定详细信息,例如错误消息,ValidationType(我理解为将执行客户端验证的Javascript函数的名称)以及属性的任何其他自定义参数可能有,并且需要传递给Javascript验证.
我假设运行时(不确定它的哪一部分)然后使用ModelClientValidationRule标签元素生成html属性,如下所示:
data-val="true" (to indicate that the element requires validation)
data-val-[ValidationType]=[ErrorMessage]
data-val-[ValidationType].[ValidationParameters(n).Key]=[ValidationParameters(n).Value]
Run Code Online (Sandbox Code Playgroud)
必须使用jQuery.validators.addmethod()创建Javascript函数并将其添加到jQuery.validators,以便JQuery在需要执行时知道它.就像是:
jQuery.validator.addMethod(
'greaterThan',
function (value, element, params) {
/.../
return /* true or false */ ;
},
''
);
Run Code Online (Sandbox Code Playgroud)
我的问题是签名'function(value,element,params)'是否是处理验证的方法的标准,我认为它将在适当的时候被某些jQuery功能调用,例如在提交表单之前或者element会丢失fuces或keyUp事件.我只是不知道如何控制这个,即选择适合自定义验证的事件.
这将不显眼的属性转换为; 我不太清楚,但认为它是一个jQuery规则,但我不清楚这些是如何工作的.就像是
jQuery.validator.unobtrusive.adapters.add(
'futuredate',
{ },
function (options) {
options.rules['greaterThan'] = true;
options.messages['greaterThan'] = options.message;
}
);
Run Code Online (Sandbox Code Playgroud)
我的问题是'功能(选项)'.这是在'function(value,element,params)'之前调用的函数,负责将不显眼的标记提取到jQuery.Validation可以理解的数据结构中.从代码示例中我可以看出,options是一个对象,它包含来自标记的属性值(例如options.message)和它必须映射到的jQuery相关属性(例如options.messages ['ClientSideValidationFunctionName']如果是这样,如何检索和映射自定义参数.
我希望我没有添加任何额外的困惑.
好的,已经尝试了几个小时,可以使用一些帮助.我正在尝试在MVC 3中实现一个具有"后退"和"下一步"按钮的页面.单击后退按钮时,我想禁止运行客户端MVC验证,以便我的操作方法将运行并将用户发送到上一个逻辑网页.我试过这个:
<script type="text/javascript">
document.getElementById("backButton").disableValidation = true;
</script>
Run Code Online (Sandbox Code Playgroud)
还有这个:
<input type="submit" name="backButton" value="? Back"
title="Go back to step 1." disableValidation="true" />
Run Code Online (Sandbox Code Playgroud)
但无论如何,静音端验证JavaScript都会启动,并且不会让按钮执行回发操作.我认为这可能disableValidation仅适用于MVC 2,我应该在MVC 3中做其他事情,但似乎无法找到任何示例.
client-side ×10
javascript ×7
asp.net-mvc ×2
validation ×2
angularjs ×1
browser ×1
dom ×1
email ×1
file-upload ×1
jquery ×1
overlay ×1
parameters ×1
python ×1
react-router ×1
reactjs ×1
server-side ×1