html/javascript:Prevent<;输入>;提交表格时结算的价值

html/javascript:Prevent<;输入>;提交表格时结算的价值,javascript,jquery,html,forms,coffeescript,Javascript,Jquery,Html,Forms,Coffeescript,我的表单只包含一个元素: <form> <input type="text" name="webpage-activity-url" placeholder="URL" value="[value inserted by templating engine]" /&

我的表单只包含一个
元素:

    <form>
            <input
                    type="text"
                    name="webpage-activity-url"
                    placeholder="URL"
                    value="[value inserted by templating engine]"
            />
            <button type="submit" class="button button-secondary" data-action="urlSubmit">
                    Submit
            </button>
    </form>

提交
我还有一些javascript(以coffeescript的形式),在提交表单时调用:

    onURLSubmit: (e)->
            e.preventDefault()
            # console.log('urlSubmit')
            url =  @$el.find('input[name="webpage-activity-url"]').val()
            if _.trim(url) == ''
                    return false
            if url.indexOf('//') == -1
                    url = 'http://' + url
            unless @$el.find('iframe').length > 0
                    iframe = $('<iframe />').insertAfter(@$el.find('.instructor-ui-box').first())
            @setIframeSrc url
            @$el.find('input[name="webpage-activity-url"]').val('')
onurl提交:(e)->
e、 预防默认值()
#console.log('urlsmit')
url=@$el.find('input[name=“webpage activity url”]”)。val()
如果修剪(url)=''
返回错误
如果url.indexOf('/')=-1
url='http://'+url
除非@$el.find('iframe')。长度>0
iframe=$('').insertAfter(@$el.find('.讲师ui框').first())
@setIframeSrc url
@$el.find('input[name=“网页活动url”]”)val(“”)
如果您不熟悉coffeescript,下面是编译为javascript的相同函数:

WebpageActivityLayout.prototype.onURLSubmit = function(e) {
  var iframe, url;
  e.preventDefault();
  url = this.$el.find('input[name="webpage-activity-url"]').val();
  if (_.trim(url) === '') {
    return false;
  }
  if (url.indexOf('//') === -1) {
    url = 'http://' + url;
  }
  if (!(this.$el.find('iframe').length > 0)) {
    iframe = $('<iframe />').insertAfter(this.$el.find('.instructor-ui-box').first());
  }
  this.setIframeSrc(url);
  return this.$el.find('input[name="webpage-activity-url"]').val('');
};
WebpageActivityLayout.prototype.onURLSubmit=函数(e){
var-iframe,url;
e、 预防默认值();
url=this.$el.find('input[name=“webpage activity url”]”)。val();
如果(u.trim(url)=''){
返回false;
}
if(url.indexOf('/')=-1){
url='http://'+url;
}
if(!(this.$el.find('iframe')。长度>0)){
iframe=$('').insertAfter(this.$el.find('.讲师ui框').first());
}
这个.setIframeSrc(url);
返回此.el.find('input[name=“webpage activity url”]”)。val(“”);
};
我的问题是:提交表单时,用户在表单的
元素中输入的值被清除,并返回到输入元素的
占位符属性指定的值。我想阻止这种行为。我尝试单步执行javascript函数,发现当
onURLSubmit
函数返回时,输入元素的值被重置。所以我真的不知道如何通过javascript来防止这种情况。

这一行

@$el.find('input[name="webpage-activity-url"]').val('')
…正在将该值设置为“”

此行

@$el.find('input[name="webpage-activity-url"]').val('')

…正在将值设置为“”

谢谢,我只需要第二双眼睛。。。我以为是
.val()
,获取值而不是设置值。。。d'oh
val()
如果未传递任何参数,则返回该值。一个空字符串作为参数计算,因此它设置值。谢谢,我只需要第二双眼睛。。。我以为是
.val()
,获取值而不是设置值。。。d'oh
val()
如果未传递任何参数,则返回该值。空字符串计为参数,因此它设置值。