如何在提交时检测空输入字段并让Jquery用特定值替换它?

时间:2018-02-13 18:24:39

标签: javascript jquery html forms

我已经看到了各种类似的问题,但我似乎无法将所有部分组合在一起。

我有一个非常简单的表单,带有一个选项单输入字段。我想允许用户输入要使用的值,但如果不是,我希望它使用默认值,但仅限于提交。

这是我正在使用的HTML和JS。这只是抓取输入值并将其添加到按钮URL。我需要它做的是查看它是否仅在提交时为空,并将其替换为“NoName”

<script type="text/javascript">
$(document).ready(function(){
$('#button').click(function(e) {  
    var inputvalue = $("#rep").val();
    window.open("https://example.com/"+inputvalue, "_blank");
    });
});
</script>

<form id="options">
    <p><input type="text" id="rep" name="rep" placeholder="Your Rep ID: " style="width:auto;" value="" /></p>
    <p><button type="button" id="button" style="color:white; background-color: blueviolet; border:none; border-radius: 3px;">GO!</button></p>
</form>

我见过的示例和解决方案使用占位符或onBlur事件,这些事件会导致盒子在单击或退出时不断更改。我希望保持空白,除非他们输入内容,然后按钮URL将根据此单独更改。

如果为空&gt;使用URL中的默认值,如果不为空&gt;使用输入的网址+值。

如果输入了某些内容,当前行为可以正常工作,但如果没有,则只需转到URL(当前脚本告诉它)

2 个答案:

答案 0 :(得分:0)

如果我理解你就像你描述的一样简单:if empty > use default value in the URL and if not empty > use the url+value entered.

只要使用简单的if else,我就为你制作了小jsfiddle

答案 1 :(得分:0)

获取用户值

var userValue=$('#rep').val();

然后检查用户值是空还是空

if(userValue){ }

如果为空,则使用默认值

$(function(){
$('#button').click(function(){
 var myDefault="http://url.com";
var userValue=$('#rep').val();
if(userValue){   location.href=userValue; }
else {  //use  default
location.href=myDefault; }
});
 });