Не могу найти ответ, я попытался с тем, что нашел на этом сайте и в другом месте, но он никогда не работает.Обрезать пробел перед текстом в javascript
Цель: обрезать пробелы до и после ввода слова в поле DIV.
Проблема: все работает нормально, пока не осталось НИКАКОГО пробела перед словом! В DIV уже может быть текст, это может быть пустой DIV, где текст может быть вставлен.
Я пробовал в javascript в DIV как обрезать (это) но это не работает. Даже Inthe самого сценария я попытался $ .trim (editableObj.innerHTML), ни editableObj.innerHTML.trim()
Ничего не работает!
JS
<script>
function showEdit(editableObj) {
$(editableObj).css("background", "#FFF");
}
function saveToDatabase(editableObj, column, linkmainid, nav, linkid) {
$(editableObj).css("background", "#FFF url(loaderIcon.gif) no-repeat right");
$.ajax({
url: 'save'+nav+'.php',
type: "POST",
data: 'linkcat=' + column + '&linktitle=' + editableObj.innerHTML + '&linkmainid=' + linkmainid + '&action=' + nav + '&linkid=' + linkid,
success: function(data) {
$(editableObj).css("background", "#FDFDFD");
window.location="/website/cms/menu.php";
}
});
}
HTML
<div class="navnew" contenteditable="true" onBlur="saveToDatabase(this,'1','999999','navnew','111')" onClick="showEdit(this);"></div>
Посмотрите на документы для ['.trim()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim). Trim вызывается в строке без параметров. – Jecoms
Ваш код испорчен. Для URL-адреса вы хотите использовать 'encodeURIComponent()' around' nav'. Для ваших данных вы можете/должны использовать стандартный объект JavaScript и позволить jQuery кодировать данные для вас. В противном случае данные не будут экранированы должным образом и приведут к другим проблемам. – Brad
Если вас интересует только текст (без другого html), попробуйте [textContent] (https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) вместо 'innerHTML' –