点击其中的十字按钮,我试图清除文本字段中的值。
HTML MARKUP
<input type="text"
placeholder="I want to go..."
class="nom-fields"
value="{{Session::get('place')}}"
name="place-city"
id="geocomplete">
<input type="reset"
id="clear-input-close"
class="clear-input-close"
value=""
onclick="JavaScript:eraseText();">
JAVASCRIPT
function eraseText() {
document.getElementById('geocomplete').value = '';
}
如果Session::get('place')
为空,则工作正常。但如果它有一些值,则textfiled将被清除并立即恢复该值。如何在文本字段中清除值?
答案 0 :(得分:2)
Laravel Session在服务器端处理,因此您需要从那里清除它。一种方法是这样的。
注意:这使用jQuery,如果你不是,用javascript命中一个url只是更多涉及。 Check out this question for more details.
<强> AnyController.php 强>
public function clearSessionKey($key)
{
if (Session::has($key))
{
Session::forget($key);
}
}
<强> routes.php文件强>
Route::get('clear/session/{key}', 'AnyController@clearSessionKey');
<强>的JavaScript 强>
function eraseText() {
document.getElementById('geocomplete').value = '';
$.getJSON("/clear/session/place",
function(data) {
//doSomethingWith(data);
});
}
答案 1 :(得分:0)
以下似乎有效:
<input type="text" placeholder="I want to go..." class="nom-fields" value="12345" name="place-city" id="geocomplete">
<input type="reset" id="clear-input-close" class="clear-input-close" value="✖" onclick="eraseText()">
<script>
function eraseText() {
document.getElementById('geocomplete').value = '';
};
</script>
It clears whatever is in the text field.
我认为您的问题可能是在您加载JavaScript功能时,或者您在onclick
中使用它的方式。
如果右键单击该页面,然后选择Inspect element
,则会出现一个console
标签,显示javascript错误。这可以让你更好地了解具体的错误。