标签: onsubmit

在React.js中设置onSubmit

提交表单时,我正在尝试doSomething()代替默认的帖子行为.

显然在React中,onSubmit是表单支持的事件.但是,当我尝试以下代码时:

var OnSubmitTest = React.createClass({
    render: function() {
        doSomething = function(){
           alert('it works!');
        }

        return <form onSubmit={doSomething}>
        <button>Click me</button>
        </form>;
    }
});
Run Code Online (Sandbox Code Playgroud)

该方法doSomething()运行,但此后,仍然执行默认的后期行为.

你可以在我的jsfiddle中测试这个.

我的问题:如何防止默认的帖子行为?

javascript forms form-submit onsubmit reactjs

88
推荐指数
4
解决办法
12万
查看次数

测试值是否为函数

我需要测试一个表单的值是否onsubmit是一个函数.格式通常是onsubmit="return valid();".有没有办法判断这是否是一个函数,如果它是可调用的?使用typeof只返回它是一个字符串,这对我没有多大帮助.

编辑:当然,我明白"返回有效();" 是一个字符串.我把replace它归结为"valid();",甚至是"valid()".我想知道其中任何一个是否是一个功能.

编辑:这里有一些代码,可能有助于解释我的问题:

$("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;
    }
} );
Run Code Online (Sandbox Code Playgroud)

编辑2:这是新代码.似乎我仍然需要使用eval,因为调用form.submit()不会触发现有的onsubmits.

var formObj = $("a.button").parents("form");
formObj.submit(function() {
    if ( formObj[0].onsubmit && typeof( formObj.onsubmit ) == 'function' ) {
        return eval(formObj.attr("onsubmit").replace(/return /,""));
    } else {
        alert("onSubmit is not a function.\n\nIs …
Run Code Online (Sandbox Code Playgroud)

javascript typeof onsubmit

85
推荐指数
4
解决办法
10万
查看次数

HTML表单操作和onsubmit问题

我想在一些文本框条目上运行javascript用户验证.

我遇到的问题是我的表单有进入我们网站内新页面的操作,该onsubmit属性从不运行javascript函数.

是否有更好的解决方案,或使用以下代码的解决方案:注意:javascript文件写得正确,并且如果您将操作切换到,则有效checkRegistration().

这只是运行动作和javascript的问题.

<form name="registerForm" action="validate.html" onsubmit="checkRegistration()" method="post">
    <!-- textboxes here -->
    <!-- and submit button -->
</form>
Run Code Online (Sandbox Code Playgroud)

javascript forms html5 action onsubmit

41
推荐指数
3
解决办法
18万
查看次数

应该是jQuery的$(form).submit(); 不在表单标签内触发onSubmit?

我有以下内容:

<script type="text/javascript">
function CancelFormButton(button) {
    $(button.form).submit();
}
</script>

<form onsubmit="alert('here');">
<input type="button" value="Cancel" onClick="CancelFormButton(this);" />
</form>
Run Code Online (Sandbox Code Playgroud)

单击"取消"按钮时,不会触发表单标记中的onsubmit.

该行成功提交表单:$(button.form).submit();但跳过alert('here');表单标记中的onsubmit.

这是正确的还是我做错了什么?

顺便说一句,在这种情况下,我想要这个功能,但我只是想知道我是否会在触发onsubmit的浏览器中遇到问题.

jquery onsubmit

39
推荐指数
4
解决办法
11万
查看次数

如果提交任何表单,如何检查jQuery?

我有一个包含很多表单的页面,用户将在该页面上选择一些内容.当用户这样做时,我需要将该元素放在其他地方,就像购物车一样.但我似乎无法获得超过页面上第一个实际按预期工作的表单.我尝试过多种方法:

  1. 为所有表单提供相同的ID,这只会导致第一个表单按我的意愿行事,并向我提供该表单的数据.
  2. 再给他们所有相同的ID,这次为ID添加一个唯一的标识符,但当然,我的jQuery $('#something')没有捕获它,因为它不匹配.

所以我在想我会怎么做.我只需要从页面上提交的表单中接收数据.如上所述,我可以给他们所有类型的前缀,就像我现在一样,但后来我不知道如何匹配它.

帮助会非常受欢迎!

一些代码按要求(当然只是一个显示我的意思的例子):

HTML:

<form id="something-0"><input type="hidden" value="0"><input type="submit"></form>
<form id="something-1"><input type="hidden" value="1"><input type="submit"></form>
Run Code Online (Sandbox Code Playgroud)

jQuery:

$("#something-%").submit(function(e) {
e.preventDefault();
$("#some-span").html(data);
});
Run Code Online (Sandbox Code Playgroud)

我希望#something-%接受" - "之后的任何内容,我希望你理解.

forms jquery onsubmit

23
推荐指数
2
解决办法
6万
查看次数

React.js:以编程方式提交表单不会触发onSubmit事件

我想在点击链接后提交React表单.

为此,我需要以编程方式提交表单,如果单击该链接.

我的问题是:onSubmit表单提交后没有触发处理程序.

这是我为此目的剪辑的代码:

var MyForm = React.createClass({
  handleSubmit: function(e){
    console.log('Form submited');
     e.preventDefault();
  },
  submitForm : function(e){
    this.refs.formToSubmit.submit();
  },
  render: function() {
    return (
    <form ref="formToSubmit" onSubmit={this.handleSubmit}>
    <input name='myInput'/>
    <a onClick={this.submitForm}>Validate</a>
    </form>);
  }
});

ReactDOM.render(
  <MyForm name="World" />,
  document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)

handleSubmit不调用并执行默认行为(提交表格).这是一个ReactJs错误还是正常行为?有没有办法调用onSubmit处理程序?

forms onsubmit reactjs

22
推荐指数
4
解决办法
1万
查看次数

如何启用禁用的文本字段?

我想知道如何在提交时启用禁用的表单文本字段.此外,我想确保用户是否返回表单或单击重置字段将再次显示为已禁用.

我试着用

document.pizza.field07.disabled = false ;
Run Code Online (Sandbox Code Playgroud)

它会禁用该字段,通过单击重置或按下后退按钮仍然保持启用.

请指导.

html javascript forms validation onsubmit

15
推荐指数
3
解决办法
8万
查看次数

Safari 7.0.1和onsubmit

由于Safari(7.0.1/Mac OS),我正在努力解决一个简单的Javascript问题.我提交了一个表单,我希望在页面加载期间显示一个图标.

从我所看到的,它与javascript本身无关,而是与onsubmit行为有关(如果我将它移到函数之外,它在加载页面而不是"提交"时间时执行预期的工作).

这是我的代码(在Chrome和Firefox上完美运行).任何的想法?

<html>
<body>    
  <img id="loadingImage" src="assets/images/loadingIcon.png" style="display:none;"/>
  <form method="POST" action="js.php" onsubmit="loadLoader()">
    <input type="submit" value="Go"/>   
  </form>

<script  type="text/javascript">
function loadLoader(){
    document.getElementById('loadingImage').style.display = 'block';
    return true;
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html javascript safari onsubmit

14
推荐指数
1
解决办法
1782
查看次数

onSubmit返回false不起作用

我完全糊涂了...我发誓这是昨天工作的......我今天早上醒来,我的所有表格停止在我的项目中工作.

所有表单都有一个"onsubmit"函数返回false,因为它是一个ajax调用,所以表单永远不会发送.

经过大量测试后,我将问题简化为这段代码:

<html>
<head>
<script type="text/javascript">
 function sub()
 {
  alert ("MIC!");
  return false;
 }
</script> 
</head>
<body>

<form method = "post" id = "form1" onsubmit = "return sub()">
 input: <input type="text" name="input1" >
    <a href="#" onClick="document.getElementById('form1').submit();">button</a> 
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我会发誓,这种方法很完美,但今天也不起作用:D

为什么我按下表格发送的按钮?

我知道这是一个全新的问题,但我被困住了

谢谢 !

return onsubmit

13
推荐指数
4
解决办法
5万
查看次数

表单onsubmit与提交按钮onclick

UPDATE 从 @BrendanEich

提交的@mplungjan onclick就是一个按钮; 表格onsubmit显然更好.


哪个是使用提交按钮的onclick来确定是否应该提交表单的原因?

我坚信这一点

  1. 在提交之前执行某些操作并在发生错误时取消提交,表单的onsubmit事件显然是放置它的地方
  2. 如果您使用提交按钮的onclick并稍后决定使用type ="image",则事件处理程序将在许多浏览器中失败
  3. 如果将提交更改为按钮,则还必须向onclick事件处理程序添加提交.

我正在寻找有理由倾向于在表单的onsubmit上使用提交按钮的onclick事件.

更新:请注意,我个人非常了解表单提交和验证方面的许多问题.
例如,通过javascript提交不会触发onsubmit http://jsfiddle.net/mplungjan/3A4Ha/

<form onsubmit="alert('onSubmit called')">
    <input type="text" value="This will submit on enter but in IE the onclick is not triggered" style="width:100%"/><br/>
    <input type="submit" onclick="alert('Clicked')" />
</form><br />
<a href="#" onclick="alert('Submitting by script'); return false">Submit by script will not trigger onsubmit</a>
Run Code Online (Sandbox Code Playgroud)

如果你在我的小提琴中点击输入,IE也不会触发onclick


历史:

在这里进行讨论

没有被禁用,html按钮无法点击

我非常不喜欢使用任何提交按钮的onclick,因为很多1年后看到它在许多浏览器中都不起作用,主要是旧版本的IE.我列举了一些显而易见的原因,但我相信他们不会说服强硬的用户.

SO的社区可以帮助我把这个钉在墙上,就像钉在学校里一样吗?也可以随意评论如何以可接受的方式表达这个问题.


1:自NS2.x和IE3.02以来的日子

javascript onclick onsubmit

13
推荐指数
1
解决办法
3万
查看次数