在提交表单时,我正在尝试执行doSomething()而不是默认的发布行为。 显然,在React中, onSubmit是表单支持的事件。 但是,当我尝试下面的代码: var OnSubmitTest = React.createClass({ render: function() { doSomething = function(){ alert('it works!'); } return <form onSubmit={doSomething}> <button>Click me</button> </form>; } }); 方法doSomething()运行,但此后,默认的后期行为仍然执行。 你可以在我的jsfiddle中testing这个。 我的问题:如何防止默认的发布行为?
我需要testing一个表单的onsubmit值是否是一个函数。 格式通常是onsubmit="return valid();" 。 有没有办法告诉这是一个函数,如果它是可调用的? 使用typeof只是返回它是一个string,这并没有多大帮助。 编辑 :当然,我明白“返回有效();” 是一个string。 我已经replace它replace成“valid();”,甚至“valid()”。 我想知道这些是否是一个function。 编辑 :这是一些代码,这可能有助于解释我的问题: $("a.button").parents("form").submit(function() { var submit_function = $("a.button").parents("form").attr("onsubmit"); if ( submit_function && typeof( submit_function.replace(/return /,"") ) == 'function' ) { return eval(submit_function.replace(/return /,"")); } else { alert("onSubmit is not a function.\n\nIs the script included?"); return false; } } ); 编辑2 :这是新的代码。 看来,我仍然必须使用eval,因为调用form.submit()不会触发现有的onsubmits。 var formObj […]
我想在一些文本框条目上运行JavaScript用户validation。 我遇到的问题是,我的表单有进入我们的网站内的新页面的行动,并且onsubmit属性从不运行javascript函数。 有没有更好的解决scheme,或者与下面的代码一起工作:注意:如果您将操作切换到checkRegistration()那么javascript文件将被正确写入并且有效。 这只是一个问题,同时运行的动作和JavaScript。 <form name="registerForm" action="validate.html" onsubmit="checkRegistration()" method="post"> <!– textboxes here –> <!– and submit button –> </form>
我有以下几点: <script type="text/javascript"> function CancelFormButton(button) { $(button.form).submit(); } </script> <form onsubmit="alert('here');"> <input type="button" value="Cancel" onClick="CancelFormButton(this);" /> </form> 当我点击“取消”button,表单标签上的提交不会被触发。 这行代替提交表单: $(button.form).submit(); 但跳过alert('here'); 在表单标签的onsubmit内。 这是正确的还是我做错了什么? 顺便说一句,在这种情况下,我想要这个function,但我只是想知道如果我要在触发onsubmit的浏览器中遇到问题。