Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当输入为空并按save时,jQuery返回false,但当键入并单击save时,仍然返回false_Javascript_Jquery - Fatal编程技术网

Javascript 当输入为空并按save时,jQuery返回false,但当键入并单击save时,仍然返回false

Javascript 当输入为空并按save时,jQuery返回false,但当键入并单击save时,仍然返回false,javascript,jquery,Javascript,Jquery,当我点击我的超链接按钮和模式弹出窗口,然后按保存,如果输入标题为空,它返回false,这是正确的,但当我再次输入并按保存时,它仍然返回false 问题:如果我点击我的保存按钮,而InputItle为空,如何使其在为空时返回false,但在输入文本时允许我保存它 //使用工作代码更新 这和这件事有关 if ($.trim(sel) == '') { return false; } else { textarea.value = textarea.value.substring(0,

当我点击我的超链接按钮和模式弹出窗口,然后按保存,如果输入标题为空,它返回false,这是正确的,但当我再次输入并按保存时,它仍然返回false

问题:如果我点击我的保存按钮,而InputItle为空,如何使其在为空时返回false,但在输入文本时允许我保存它

//使用工作代码更新

这和这件事有关

if ($.trim(sel) == '') {
    return false;
} else {
    textarea.value = textarea.value.substring(0,start) + replace +
    textarea.value.substring(end,len) + '\n' + id;
    $('#myLink').modal('hide');
}
全文

$('#myLink').on('shown.bs.modal', function() {
    var text = getSelectedText();
    $('#title').val(text);
    $('#url').val('http://');
});    

function getSelectedText() {
    var textarea = document.getElementById("message");
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var sel = textarea.value.substring(start, end);
    return sel;
}

var counter = 0;

$('#save-link').on('click', function(e) {
    var textarea = document.getElementById("message");
    var len = textarea.value.length;
    var start = textarea.selectionStart;
    var end = textarea.selectionEnd;
    var sel = textarea.value.substring(start, end);

    var replace = '[' + $('input#title').val() + ']' + '[' + counter + ']';

    var id = '\n\n   [' + counter + ']: ' + $('input#url').val();

    counter++;

    if ($.trim(sel) == '') {
        return false;
    } else {
        textarea.value = textarea.value.substring(0,start) + replace +
        textarea.value.substring(end,len) + id;
        $('#myLink').modal('hide');
        $('.alert').remove();
    }
}); 

在“保存”按钮的“单击”功能下,选中该行

var len = textarea.value.length;

在继续之前,根据变量len的值进行验证。

我现在有了一个可行的解决方案。我不得不改变一些事情

在这一部分,我添加了修剪

$('#myLink').on('shown.bs.modal', function() {
    var text = getSelectedText();
    $('#title').val(text.trim());
    $('#url').val('http://');
}); 
我添加的这个改变了这种方式

if ($('#title').val().length > 0) {
    textarea.value = textarea.value.substring(0,start) + replace +
    textarea.value.substring(end,len) + '\n' + id;
    $('#myLink').modal('hide');
    $('#myLink form')[0].reset();
} else {

    return false;
}


变量sel指的是textarea未输入TEXTREAR textarea=document.getElementByIdmessage;正在标题上查找textarea,因此这取决于消息是否为Emply。您可以将start变量的值设置为0。尝试在textarea中输入一些文本,然后选择所有文本,然后单击“单击此处添加链接”按钮,它将起作用。如果您放置正在使用的html,则会有所帮助
if ($.trim(sel) == '') {
    return false;
} else {
    textarea.value = textarea.value.substring(0,start) + replace +
    textarea.value.substring(end,len) + '\n' + id;
    $('#myLink').modal('hide');
}