2016-02-29 101 views
0

我有类似下面的输入:变化值,当输入类型=提交

<input class="submit" type="submit" name="submit" value="Blah"> 

我想改变其取值为“其他文本”。 当我使用.val(),attr()或.prop()jQuery方法时,值改变的很好,但是当我提交时,输入不再工作。只刷新页面而不做它应该做的事情。

与.setAttribute方法相同的结果。

现在如何让输入正常工作,现在值已被更改?

+0

你想在提交后改变'价值'? – Pedram

+0

输入类型提交的默认行为是提交表单。如果要禁用提交,请使用'$('form')。submit(function(){return false;})' – jcubic

+0

服务器端脚本可能在处理输入之前检查提交按钮的值 – jeff

回答

0

入住这

$(document).ready(function(){ 
 
    $(".submit").click(function(){ 
 
    \t $(this).val("OtherText"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="submit" type="submit" name="submit" value="Blah">

0

您可以阻止提交表单或按钮的单击事件:

$(".submit").click(function(e){ 
    e.preventDefault(); 
    $("#inputbox").val("OtherText"); 
    //Now you can submit form manually here 
    $("#form").submit(); 
}); 
+0

第二个代码会创建无限循环,因为调用submit()将执行事件和回调, – jcubic

+0

雅谢谢指出谢谢。 – Manwal

0

我相信这是服务器端脚本正在检查值,所以不得不在点击时改回值。

if ($('.submit').length > 0) { 
    $('.submit').prop('value', 'Other Text'); 
    $('.submit').click(function(){ 
    $('.submit').prop('value', 'blah'); 
    });} 

这似乎现在工作'好'。不理想,但作品